1
当我使用此语法时,出现以下错误。我希望能够给参数传递给节点功能: -将参数传递给T-SQL节点方法(XML CROSS APPLY)
CROSS APPLY XML_TPYE_COLUMN.nodes(@p_Xpath) AS Tab(Col)
错误:
3210有人能告诉我,我该如何正确地做到这一点?
当我使用此语法时,出现以下错误。我希望能够给参数传递给节点功能: -将参数传递给T-SQL节点方法(XML CROSS APPLY)
CROSS APPLY XML_TPYE_COLUMN.nodes(@p_Xpath) AS Tab(Col)
错误:
3210有人能告诉我,我该如何正确地做到这一点?
您必须通过动态sql来完成此操作,因为节点的参数必须是字符串文字。这与您在做sp_executesql
时所做的相似。
换句话说,你需要构建整个SQL语句为nvarchar(最大),并通过它来对sp_executesql:
DECLARE @statement nvarchar(max)= N'select ... CROSS APPLY col.nodes('[email protected]_Xpath+') AS Tab(Col)'
execute sp_executesql [email protected]