SQL DML - 无法在修改中使用后函数

SQL DML - unable to use the after function in modify

我需要用新的 xml 节点更新大约 1000 xml 条记录,xml 存储在 sql table 列中,使用 xml 数据类型,所以我一直在尝试利用 HERE 中记录的修改函数(具体示例 A.4)

但是,当我 运行 针对我的暂存环境 (SqlServer 2016 SP2-CU13) 执行此操作时,我收到以下错误消息:

Msg 2395, Level 16, State 1, Line 7 XQuery [production.dbo.organisations.Configuration.modify()]: There is no function '{http://www.w3.org/2004/07/xpath-functions}:AFTER()'

代码很简陋,我只是被错误消息难住了。非常感谢任何帮助或见解

代码:

update [production].[dbo].[organisations] Set configuration.modify('INSERT <LegalEntityName>TEST</LegalEntityName> AFTER (/OrganisationMetaData/ExamPrepAssessModeFromAddress)[1]') where ID = 1

记住 XML 始终区分大小写,例如:

use tempdb
go
drop table if exists organisations 
go
create table organisations(id int, configuration xml)
insert into organisations(id, configuration) values (1,'<OrganisationMetaData><ExamPrepAssessModeFromAddress></ExamPrepAssessModeFromAddress></OrganisationMetaData>')

update organisations Set configuration.modify('insert <LegalEntityName>TEST</LegalEntityName> after (/OrganisationMetaData/ExamPrepAssessModeFromAddress)[1]') where ID = 1