TSQL:使用名称中的计数器声明变量

时间:2013-02-18 14:00:09

标签: tsql variable-names

如何使用MS SQL Server名称中的计数器创建/声明变量? 我有一个带有CURSOR和

的“for-like”循环
WHILE @@FETCH_STATUS = 0

但是:这些值的数量在不断变化。所以我想在自己的变量中写出每个值。我的目标是获取var-names,如:@ var1,next loop @ var2,next @ var3等。 井

SET @counter = (@counter + 1)

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

太多了!

2 个答案:

答案 0 :(得分: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>;

答案 1 :(得分:0)

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