• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    快速删除DiscuzNT论坛数据表和存储过程

    发布者: 404号房间 | 发布时间: 2025-7-24 17:26| 查看数: 68| 评论数: 0|帖子模式

    本来想一个一个删除的,打开数据库一看那么多的表和存储过程,就放弃这种笨办法了,于是决定用SQL语句来搞定。代码如下: 
    复制代码
    代码如下:

    -----------------------------删除数据表--------------------- 
    DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500) 
    DECLARE tb CURSOR FOR 
    SELECT name FROM sysobjects WHERE xtype='U' and name like 'dnt%' 
    OPEN tb 
    -- Perform the FIRST FETCH. 
    FETCH NEXT FROM tb INTO @au_lname 
    -- CHECK @@FETCH_STATUS TO see IF there ARE ANY more ROWS TO FETCH. 
    WHILE @@FETCH_STATUS = 0 
    BEGIN 
    -- This IS executed AS long AS the previous FETCH succeeds. 
    FETCH NEXT FROM tb INTO @au_lname 
    SET @SQLString='DROP TABLE '+ @au_lname 
    EXEC sp_executesql @SQLString 
    --DROP TABLE @au_lname 
    END 
    CLOSE tb 
    DEALLOCATE tb 
    GO 
    -----------------------------删除存储过程--------------------- 
    DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500) 
    DECLARE tb CURSOR FOR 
    SELECT name FROM sysobjects WHERE xtype='p' and name like 'dnt%' 
    OPEN tb 
    -- Perform the FIRST FETCH. 
    FETCH NEXT FROM tb INTO @au_lname 
    -- CHECK @@FETCH_STATUS TO see IF there ARE ANY more ROWS TO FETCH. 
    WHILE @@FETCH_STATUS = 0 
    BEGIN 
    -- This IS executed AS long AS the previous FETCH succeeds. 
    FETCH NEXT FROM tb INTO @au_lname 
    SET @SQLString='DROP PROCEDURE '+ @au_lname 
    EXEC sp_executesql @SQLString 
    --DROP TABLE @au_lname 
    END 
    CLOSE tb 
    DEALLOCATE tb 
    GO 

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表