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

教程大全 2026-01-08 10:28:56 浏览
存储过程

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

复制代码

代码如下:

-----------------------------删除数据表---------------------DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500)DECLARE tb CURSOR FORSELECT 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 = 0BEGIN-- This IS executed AS long AS the previous FETCH succeeds.FETCH NEXT FROM tb INTO @au_lnameSET @SQLString='DROP TABLE '+ @au_lnameEXEC sp_executesql @SQLString--DROP TABLE @au_lnameENDCLOSE tbDEALLOCATE tbGO-----------------------------删除存储过程---------------------DECLARE @au_lname VARCHAR(40),@SQLString NVARCHAR(500)DECLARE tb CURSOR FORSELECT 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 = 0BEGIN-- This IS executed AS long AS the previous FETCH succeeds.FETCH NEXT FROM tb INTO @au_lnameSET @SQLString='DROP PROCEDURE '+ @au_lnameEXEC sp_executesql @SQLString--DROP TABLE @au_lnameENDCLOSE tbDEALLOCATE tbGO

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐