孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

SQLServer2005/2008 XML数据类型操作

示例:

创建Table

CREATE TABLE [dbo].[xmlTable]( [id] [int] IDENTITY(1,1) NOT NULL, [doc] [xml] NULL )

一。插入数据

1.通过XML文件插入

1.xml

<?xml version='1.0' encoding='utf-8' ?> <dd> <a id="2">dafaf2</a> <a id="3">dafaf3</a> <a id="4">dafaf4</a> </dd>

insert into xmlTable(doc) select * from openrowset(BULK 'C:\Documents and Settings\Administrator\桌面\1.xml',SINGLE_CLOB) as x

2.通过字符串插入

insert into xmlTable(doc) values('<dd><a>123</a></d>')

二。查询

select doc.value('(/dd/a[@id>2])[1]','nvarchar(50)') as xm from xmlTable

select * from xmlTable where doc.value('(/dd/a[@id>2])[1]','nvarchar(50)') ='博客园'

三。更新

1.插入节点

update xmlTable set doc.modify('insert <a>123</a> into (/dd)[1]')

注:insert <要插入的节点>  插入到  <节点里面>

into  --插入里面

after  --插入节点后面

before  --插入节点前面

2.删除节点

update  xmlTable set doc.modify('delete (/dd/a)[1]')   --删除 /dd/a 的第一个节点

3.修改节点

update xmlTable set doc.modify('replace value of (/dd/a/text())[1] with "博客园"')

posted on 2012-11-10 21:50  孤独的猫  阅读(272)  评论(0编辑  收藏  举报