22,207
社区成员
发帖
与我相关
我的任务
分享
-- 获取所有待删除的表名(带架构前缀名的)
select b.name+'.'+a.name 'tablename'
from sys.tables a
inner join sys.schemas b on a.schema_id=b.schema_id
where b.name='dbo' and left(a.name,1) between 'c' and 'k'
-- 执行删除
declare @tsql varchar(500),@tn varchar(100)
declare ap scroll cursor for
select b.name+'.'+a.name 'tablename'
from sys.tables a
inner join sys.schemas b on a.schema_id=b.schema_id
where b.name='dbo' and left(a.name,1) between 'c' and 'k'
open ap
fetch first from ap into @tn
while(@@fetch_status<>-1)
begin
select @tsql='drop table '+@tn
exec(@tsql)
fetch next from ap into @tn
end
close ap
deallocate ap
select 'drop table ['+name+']; '
from sys.tables
where left(name,1) between 'c' and 'k'
SELECT 'drop table '+o.name +' ;'
FROM sys.objects o INNER JOIN sys.schemas s ON s.schema_id = o.schema_id
WHERE o.type='U'AND o.name LIKE '%[ck]%' AND s.name='dbo'
select 'drop table dbo.' + t.name + ';'
from sys.tables t
inner join sys.schemas s
on s.schema_id = t.schema_id
where t.name like '[c-k]%' --表的名称的开始字母,从c到k的
and s.name = 'dbo' --架构为dbo的
order by t.name
select 'drop table dbo.' + t.name + ';'
from sys.tables t
where t.name like '[c-k]%'
order by t.name