您的位置:首页 > 数据库

【SQL Server】删除所有表、存储过程

2012-04-05 11:29 204 查看
DECLARE @table varchar(64),

@sql varchar(150)

DECLARE curTable SCROLL CURSOR FOR SELECT name FROM sysobjects WHERE Type = 'U' And Name <> 'dtproperties' ORDER BY name

OPEN curTable

FETCH FIRST FROM curTable INTO @table

WHILE (@@FETCH_STATUS = 0)

BEGIN

set @sql = 'Drop table [' + Cast(@table as varchar) +']'

--print @sql

exec (@sql)

FETCH NEXT FROM curTable INTO @table

END

CLOSE curTable

DEALLOCATE curTable

--删除存储过程

DECLARE @STRING VARCHAR(8000)

WHILE EXISTS(SELECT NAME FROM SYSOBJECTS WHERE TYPE='P' AND STATUS>=0)

BEGIN

SELECT TOP 1 @STRING='DROP PROCEDURE '+ NAME FROM SYSOBJECTS WHERE TYPE = 'P' AND STATUS>=0

--SELECT @STRING

exec(@STRING)

END

GO
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: