弱弱地问:正在零基础摸索sql server的while循环。怎样使用变量定义数据表名?
当@index=1时,定义数据表table1;当@index=2时,定义数据表table2;......以此类推,请问可以做到吗?怎么做?...
当@index=1时,定义数据表table1;
当@index=2时,定义数据表table2;......以此类推,
请问可以做到吗?怎么做? 展开
当@index=2时,定义数据表table2;......以此类推,
请问可以做到吗?怎么做? 展开
1个回答
展开全部
用变量定义数据表名是可以的。但是在T-SQL中表名无法直接用变量,要解决此问题,我们可以用存储过程:sp_executesql,该存储过程只接一个参数,即 SQL 语句字符串。如:exec sp_executesql @statement,注意:@statement 参数只能是 ntext/nchar/nvarchar 类型。
所以按照你的想法, 应该如下:
declare @index int
set @index=1
while (@index <=10)
begin
declare @sql1 nvarchar(255)
select @sql1 = 'select * from' +@table
exec sp_executesql @sql1
end
具体你要操作表什么内容,可以修改@sql1.
所以按照你的想法, 应该如下:
declare @index int
set @index=1
while (@index <=10)
begin
declare @sql1 nvarchar(255)
select @sql1 = 'select * from' +@table
exec sp_executesql @sql1
end
具体你要操作表什么内容,可以修改@sql1.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询