为什么sql:variable(@variable)不起作用?

时间:2014-07-21 18:34:20

标签: sql-server tsql

我这样做:

while(@i<=@counting)
begin       
    select @Id = R.DATAROW.value('T_ID[sql:variable("@i")]','int')
    from @selectedXML.nodes('/NewDataSet/child::MainTable[1]') as R(DATAROW)

如果我提出类似的内容:

select @Id= R.DATAROW.value('T_ID[1]','int')

为第一个表正确获取值,但我想插入@i以获取所有表格。

有人可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我从来没有尝试过这个,但我认为您可能需要使用指定数组位置的完整形式:

select @Id = R.DATAROW.value('T_ID[position() = sql:variable("@i")]','int')