我只需要你的帮助。 我正在寻找解决方案,但没有任何工程。SQL XML选择多个属性
我必须从存储在我的表的一列中的xml文件中选择多个属性。
这是文件:
<ManagerConfig>
<AccountList>
<Account accountID=“1“ friendlyName=“Testname1“> Test </Account>
<Account accountID=“2“ friendlyName=“Testname2“> Test </Account>
<Account accountID=“3“ friendlyName=“Testname3“> Test </Account>
<Account accountID=“4“ friendlyName=“Testname4“> Test </Account>
</AccountList
</ManagerConfig>
对于使用下面的语句这I'm:
set @accountID = @xmlxx.value('(/ManagerConfig/AccountList/Account/@accountId)[1]', 'varchar(max)')
set @friendlyName = @xmlxx.value('(/ManagerConfig/AccountList/Account/@friendlyName)[1]', 'varchar(max)')
结果是:
accountID friendlyname
1 Testname1
当IM改变从价值[1]至[2]即时获取第二个属性。所以这没问题。但我需要所有这些属性并将它们导出到另一个临时表中。 我想我可以用可变[@i]替换值:
set @accountID = @xmlxx.value('(/(ManagerConfig/AccountList/Account/@accountId)'[@i]'', 'varchar(max)')
但有一个语法错误:
An insufficient number of arguments were supplied for the procedure or function value.
我希望你能帮助我找到一个解决办法..
格尔茨 丹尼斯
但是你试图将* result *赋值为一个标量变量。您如何期望将4个值填入可包含1个值的变量? –