1

如何在 MS SQL Server 上使用名称中的计数器创建/声明变量?我有一个带有 CURSOR 的“for-like”循环和

WHILE @@FETCH_STATUS = 0

但是:这些值的数量在不断变化。所以我想把每个值都写在一个自己的变量中。我的目标是获得 var 名称,例如:@var1、下一个循环 @var2、下一个 @var3 等。好吧

SET @counter = (@counter + 1)

并不难,但是如何将@counter 的值(!)添加到@var 的名称(!)中?

多谢!

4

2 回答 2

2

我认为您应该创建一个临时表来存储这些变量。例如:

DECLARE @ValTable TABLE
(
  ID int,
  Val int, -- or any type you need
)

现在插入一个新值:

SET @counter = (@counter + 1);
INSERT INTO @ValTable VALUES (@counter, <VALUE>);

要获得此值,请[i]使用简单的选择:

SELECT Val FROM @ValTable where ID=<Number of value here>;
于 2013-02-18T14:07:11.160 回答
0

我真的不明白你想要实现什么,但一种方法是在你的 for 循环中构建你想要的查询字符串,而不是执行它以获得你想要的格式化结果。

于 2013-02-18T14:53:42.887 回答