[英]How to drop multi temporary table?
如何从SQL Server删除多个临时表下面的代码给出此错误:msg 156,级别15,状态1,第5行关键字'drop'附近的语法不正确。
declare @deptno int = 1
while @deptno > (Select COUNT(*) from tbl_deptseat)+1
Begin
Declare @deptnamevar nvarchar(20) = '##dept'+ cast(@deptno as nvarchar(10))
exec (drop table (@deptnamevar))
End
这似乎是一种非常奇怪的数据处理方式。 我不建议在表名中放入这样的逻辑。 相反,逻辑属于列。
但是,您想使用动态SQL:
declare @deptno int = 1;
declare @sql nvarchar(max);
while @deptno < (Select COUNT(*) from tbl_deptseat)+1
Begin
Declare @deptnamevar nvarchar(20) = '##dept'+ cast(@deptno as nvarchar(10));
set @sql = 'drop table ' + @deptnamevar;
exec(@sql) ;
set @deptno = @deptno + 1;
End;
declare @deptno int = 1
while @deptno < (Select COUNT(*) from tbl_deptseat)+1 Begin Declare @deptnamevar nvarchar(20) = '##dept'+ cast(@deptno as nvarchar(10)) Declare @dropquery nvarchar(20) = 'drop table '+ @deptnamevar exec (@dropquery) set @deptno = @deptno + 1 End
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.