1
用XQuery替换SQL Server中强类型xml元素的值
给定一个元素,在XML Schema Collection中定义如下: <xsd:element name="xid"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:maxLength value="32" /> </xsd:restriction> </xsd:simpleType> </xsd:element> 您将如何使用XQuery更新元素? 该元素位于模式集合的ns命名空间中。我一直在尝试通过以下查询更新元素: update cm.item set data.modify( 'declare namespace ns="http://www.anon.com"; replace value of (/ns:*/ns:xid)[1] with "X00011793" cast as element(ns{http://www.anon.com}:xid,#anonymous) ?') where id = 11793 但这会产生以下错误: 消息9301,级别16,状态1,第2行XQuery [cm.item.data.modify()]:在此版本的服务器中,“ cast as”不可用。请使用“投射为?” 句法。 如果我完全删除演员表并使用此查询: update cm.item set data.modify( 'declare namespace …