如何使用MS SQL Server名称中的计数器创建/声明变量? 我有一个带有CURSOR和
的“for-like”循环WHILE @@FETCH_STATUS = 0
但是:这些值的数量在不断变化。所以我想在自己的变量中写出每个值。我的目标是获取var-names,如:@ var1,next loop @ var2,next @ var3等。 井
SET @counter = (@counter + 1)
并不困难,但如何将@counter的值(!)添加到@var的名称(!)?
太多了!
答案 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循环中构建查询字符串,而不是执行它来获得你想要的结果格式它