快速删除DiscuzNT论坛数据表和存储过程
快速删除DiscuzNT论坛数据表和存储过程
发布时间:2016-12-26 来源:查字典编辑
摘要:本来想一个一个删除的,打开数据库一看那么多的表和存储过程,就放弃这种笨办法了,于是决定用SQL语句来搞定。代码如下:------------...

本来想一个一个删除的,打开数据库一看那么多的表和存储过程,就放弃这种笨办法了,于是决定用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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新discuz学习
热门discuz学习
CMS教程子分类