SQLServer2005 XML數(shù)據(jù)操作代碼
更新時(shí)間:2010年06月29日 09:29:30 作者:
在項(xiàng)目中經(jīng)常用XML文件,看看T-SQL程序設(shè)計(jì)發(fā)現(xiàn)SQLSERVER2005居然可以處理XML類型,而且還可以使用類似于Xpath的查詢語法查詢。
示例:
創(chuàng)建Table
CREATE TABLE [dbo].[xmlTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[doc] [xml] NULL
)
一。插入數(shù)據(jù)
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.插入節(jié)點(diǎn)
update xmlTable set doc.modify('insert <a>123</a> into (/dd)[1]')
注:insert <要插入的節(jié)點(diǎn)> 插入到 <節(jié)點(diǎn)里面>
into --插入里面
after --插入節(jié)點(diǎn)后面
before --插入節(jié)點(diǎn)前面
2.刪除節(jié)點(diǎn)
update xmlTable
set doc.modify('delete (/dd/a)[1]') --刪除 /dd/a 的第一個(gè)節(jié)點(diǎn)
3.修改節(jié)點(diǎn)
update xmlTable
set doc.modify('replace value of (/dd/a/text())[1] with "博客園"')
暫時(shí)只學(xué)到這么多,以后再寫。。。
創(chuàng)建Table
復(fù)制代碼 代碼如下:
CREATE TABLE [dbo].[xmlTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[doc] [xml] NULL
)
一。插入數(shù)據(jù)
1.通過XML文件插入
1.xml
復(fù)制代碼 代碼如下:
<?xml version='1.0' encoding='utf-8' ?>
<dd>
<a id="2">dafaf2</a>
<a id="3">dafaf3</a>
<a id="4">dafaf4</a>
</dd>
復(fù)制代碼 代碼如下:
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.插入節(jié)點(diǎn)
update xmlTable set doc.modify('insert <a>123</a> into (/dd)[1]')
注:insert <要插入的節(jié)點(diǎn)> 插入到 <節(jié)點(diǎn)里面>
into --插入里面
after --插入節(jié)點(diǎn)后面
before --插入節(jié)點(diǎn)前面
2.刪除節(jié)點(diǎn)
update xmlTable
set doc.modify('delete (/dd/a)[1]') --刪除 /dd/a 的第一個(gè)節(jié)點(diǎn)
3.修改節(jié)點(diǎn)
update xmlTable
set doc.modify('replace value of (/dd/a/text())[1] with "博客園"')
暫時(shí)只學(xué)到這么多,以后再寫。。。
您可能感興趣的文章:
- SQL Server解析XML數(shù)據(jù)的方法詳解
- SQL Server中的XML數(shù)據(jù)進(jìn)行insert、update、delete操作實(shí)現(xiàn)代碼
- 關(guān)于SQLServer2005的學(xué)習(xí)筆記 XML的處理
- SQLSERVER 2005中使用sql語句對(duì)xml文件和其數(shù)據(jù)的進(jìn)行操作(很全面)
- SQL Server中的XML數(shù)據(jù)進(jìn)行insert、update、delete
- SQLServer XML數(shù)據(jù)的五種基本操作
- SQL?Server中的XML數(shù)據(jù)類型詳解
相關(guān)文章
SQLServer2005安裝提示服務(wù)無法啟動(dòng)原因分析及解決
安裝時(shí)出現(xiàn)了如下錯(cuò)誤:SQL Server 2005 安裝錯(cuò)誤碼29503,接下來講解一下,錯(cuò)誤原因及解決方法,感興趣的你可以參考下,或許對(duì)你有所幫助2013-03-03
SQL Server 2005 同步復(fù)制技術(shù)
SQL Server 2005 同步復(fù)制技術(shù)實(shí)現(xiàn)sql語句。2009-06-06
sqlserver 2008手工修改表結(jié)構(gòu),表不能保存的問題與解決方法
今天晚上休息,寫一個(gè)小程序,用的是sql server 2008,手工建立了一些表,然后我回頭想到了表字段中有一些需要增加一列,回頭我就插入一列,結(jié)果我保存的時(shí)候卻彈出如下窗口2010-04-04
SQL2005 學(xué)習(xí)筆記 窗口函數(shù)(OVER)
SQL Server 2005中的窗口函數(shù)幫助你迅速查看不同級(jí)別的聚合,通過它可以非常方便地累計(jì)總數(shù)、移動(dòng)平均值、以及執(zhí)行其它計(jì)算。2009-07-07
SQL Server 2005恢復(fù)數(shù)據(jù)庫詳細(xì)圖文教程
這篇文章主要介紹了SQL Server 2005恢復(fù)數(shù)據(jù)庫詳細(xì)圖文教程,需要的朋友可以參考下2014-11-11
SQLServer2005 批量查詢自定義對(duì)象腳本
使用系統(tǒng)函數(shù)object_definition和系統(tǒng)表 sysobjects 就可以了2009-08-08
SQLServer 2005 控制用戶權(quán)限訪問表圖文教程
SQL Server權(quán)限管理很簡單的一小塊,有些地方并沒有深入理解和講述,只是希望對(duì)一些剛?cè)腴T的童鞋有幫助,其它大俠就當(dāng)是:我當(dāng)堂嚇一跳,然后得啖笑。2011-07-07
Sqlserver 2005使用XML一次更新多條記錄的方法
Sqlserver 2005使用XML一次更新多條記錄的方法,需要一次更新多條記錄的朋友可以參考下。2010-04-04
安裝SQL2005提示 找不到任何SQL2005組件的問題解決方案
當(dāng)我在安裝SQL2005的時(shí)候出錯(cuò)了(SQL2005是企業(yè)版的)。由于第一次安裝SQL2005,要求把VS2008的SQL服務(wù)關(guān)了,做了,安裝完畢。2009-08-08

