[转载]SQL Server 2008批量删除数据表
- 开发笔记
- 2010-09-29
- 85热度
- 0评论
[转载]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