服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQLServer2005 XML数据操作代码

SQLServer2005 XML数据操作代码

2020-07-01 15:31mssql教程网 Sql Server

在项目中经常用XML文件,看看T-SQL程序设计发现SQLSERVER2005居然可以处理XML类型,而且还可以使用类似于Xpath的查询语法查询。

示例:
创建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 "博客园"')


暂时只学到这么多,以后再写。。。

延伸 · 阅读

精彩推荐