对于XML字段,推荐使用:
<Root>
<ProductDescription ProductID="1" ProductName="Road Bike">
<Features>
  <Warranty>1 year parts and labor</Warranty>
  <Maintenance>3 year parts and labor extended maintenance is available</Maintenance>
</Features>
</ProductDescription>
</Root>

不推荐使用相同的元素
<Root>
<add key="ProductDescription" value="1" />
<add key="ProductDescription" value="2" />
</Root>

modify (XML_DML)
此方法使用 XML DML 语句在 xml 数据中插入、更新或删除节点。xml 数据类型的 modify() 方法只能在 UPDATE 语句的 SET 子句中使用。


insert
      Expression1 (
                 {
as first | as last} into | after | before
                                    Expression2
                )

CREATE TABLE TEST
(
   A INT,
   B XML
)

insert test (a,b)
select 
1,'<root/>'

--插入元素
update test 
set b.modify('
insert (<name>b2</name>)
as first
into (
/root)[1]'
)
where a 
= 1

--插入属性
update test 
set b.modify('
insert (attribute id{"001"})
into (
/root)[1]'
)
where a 
= 1


--插入注释
update test 
set b.modify('
insert <!-- comment -->
into (
/root/name[1])[1]'
)
where a 
= 1

--使用IF
update test 
set b.modify('
insert 
if (count(/root/name)<=2)
then element address {
"China"}
else ()
as last
into (
/root)[1]'
)
where a 
= 1

--替换
update test 
set b.modify('
replace value of (/root/address/text())[1] 
with (
if (count(/root/name)<=2)
then
    "beijin"
else
    "taiwan"
)
'
)
where a = 1

--删除
update test 
set b.modify('
delete /root/address
')
where a = 1


posted on 2007-05-28 21:37  凌度  阅读(277)  评论(0编辑  收藏  举报