SQL SERVER如何删除以xx开头的表呢?运行下面的sql脚本就可以实现(任选一种)。

 方法一:运行下面的存储过程可以实现SQLServer如何删除以xx开头的所有表 

   注:将下方的table_name like 'xx_%' 换成你的表即可 (多一个下换线)

--将下方的table_name like 'xx_%' 换成你的表即可
--如果表名含有中文,就需要用nvarchar 和 N''
declare cur cursor
read_only
for select distinct table_name from information_schema.columns where table_name like N'xx_%'

declare @name nvarchar(40),@sql nvarchar(1000)
open cur

fetch next from cur into @name
while (@@fetch_status =0)
   begin
   set @sql ='DROP TABLE ' + @name
   exec (@sql)
   fetch next from cur into @name
end

close cur
deallocate cur
go

执行完成后,刷新一下表,就可以看到原来的表已经被彻底删除掉了。  

 补充说明
1,英文SQLServer里有中文表名,会提示错误: Incorrect syntax near '?'. 

nvarchar(40),即可解决。

2,如果英文SQLServer里有中文表名,可执行成功但是刷新后xx开头的所有表都还在。

 N'XX_%',即可解决。

 

方法二:运行下面的sql脚本可以实现SQLServer如何删除以xx开头的所有表 

   注:将下方的table_name like 'xx_%' 换成你的表即可 (多一个下换线)

--如果表名含有中文,就需要用nvarchar 和 N''
DECLARE @strSQL NVARCHAR(MAX)
SET @strSQL=''
SELECT @strSQL=@strSQL+'drop table '+[name] from sysobjects 
WHERE [type]='U' and (([name] like N'XX_%') )
EXEC(@strSQL)

  

 

··

 

·

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-06-26
  • 2021-09-04
  • 2021-12-05
猜你喜欢
  • 2021-08-21
  • 2022-01-07
  • 2021-08-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
相关资源
相似解决方案