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]