[转载]SQL Server 2008批量删除数据表

[转载]SQL Server 2008批量删除数据表_飞宏风_百度空间.

测试数据
create table dbo.temptb_1 (id
int);
create table guest.temptb_2 (id
int);

打开隐式事务
SET IMPLICIT_TRANSACTIONS ON
执行动态删除
–定义一个变量

declare @SQL varchar(max);
set @SQL=;
select @sql=@sql+drop table +
–获取表名称,形如:dbo.temptb_***,escape ‘\’表示’\’为转义符号
QUOTENAME(SCHEMA_NAME([schema_id]))
+.+QUOTENAME([name])+;
from sys.tables where where is_ms_shipped =0 and [name] like temptb\_% escape \’
— select @sql;
EXEC(@sql);
检查删除是否正确
select * from sys.tables
正确,则提交事务,确认删除
commit tran
不正确,则回滚事务,取消删除
rollback tran
关闭隐式事务
SET IMPLICIT_TRANSACTIONS OFF

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏