删除/删除SQL Server中的类似表

时间:2015-08-19 17:21:21

标签: sql-server sql-delete

我在SQL Server中有一个数据库,其中有许多类似的表,例如dbo.Dos_150602_xyz。我尝试通过键入以下内容仅删除其中包含1506的表:

drop table dbo.Dos_1506*; 

但那并没有奏效。我怎么能这样做?

感谢。

1 个答案:

答案 0 :(得分:1)

只是为OP做一些事情。

示例表创建脚本:      create table table_pattern_name_1 ( s1 varchar(20), n1 int ); create table table_pattern_name_2 ( s1 varchar(20), n1 int ); create table table_pattern_name_3 ( s1 varchar(20), n1 int ); create table table_pattern_name_4 ( s1 varchar(20), n1 int );

表删除脚本:      declare @cmd varchar(4000) declare cmds cursor for select 'drop table [' + Table_Name + ']' from INFORMATION_SCHEMA.TABLES where Table_Name like 'table_pattern_name_%' open cmds while 1=1 begin fetch cmds into @cmd if @@fetch_status != 0 break print @cmd exec(@cmd) end close cmds; deallocate cmds

SSMS输出:      drop table [table_pattern_name_1] drop table [table_pattern_name_2] drop table [table_pattern_name_3] drop table [table_pattern_name_4]

如果这适用于您的示例,请告诉我。

谢谢, 马特琼斯 Microsoft SQL Server