是否可以在这样的案例语句中使用XML.modify,或者这必须是2个单独的更新语句?
UPDATE s
SET
CASE WHEN [XMLData] IS NOT NULL THEN [XMLData].modify('delete //invoice/account/contactinformation') END,
CASE WHEN [SummaryXMLData] IS NOT NULL THEN [SummaryXMLData].modify('delete //invoice/account/contactinformation') END
FROM
ITS_CSC.[Statement].[StatementSummary] s
SQL Server 引发此错误:
Msg 156,级别 15,状态 1,第 34
行 关键字"CASE"附近的语法不正确。
注意:直接在NULL
值上调用 modify
方法失败,并显示以下消息,因此需要检查NULL
不能在空值上调用"列名"上的突变器"modify()"。
这是
不正确的语法。您可以改用 2 个单独的语句:
UPDATE ITS_CSC.[Statement].[StatementSummary]
SET [XMLData].modify('delete //invoice/account/contactinformation')
WHERE [XMLData] IS NOT NULL;
UPDATE ITS_CSC.[Statement].[StatementSummary]
SET [SummaryXMLData].modify('delete //invoice/account/contactinformation')
WHERE [SummaryXMLData] IS NOT NULL;