弱弱地问:正在零基础摸索sql server的while循环。怎样使用变量定义数据表名?

当@index=1时,定义数据表table1;当@index=2时,定义数据表table2;......以此类推,请问可以做到吗?怎么做?... 当@index=1时,定义数据表table1;
当@index=2时,定义数据表table2;......以此类推,
请问可以做到吗?怎么做?
展开
 我来答
百度网友74e1a14d6
2012-08-05 · TA获得超过257个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:198万
展开全部
用变量定义数据表名是可以的。但是在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.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式