SQLServer2005 XML數(shù)據(jù)操作代碼
更新時間:2010年06月29日 09:29:30 作者:
在項目中經(jīng)常用XML文件,看看T-SQL程序設(shè)計發(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é)點
update xmlTable set doc.modify('insert <a>123</a> into (/dd)[1]')
注:insert <要插入的節(jié)點> 插入到 <節(jié)點里面>
into --插入里面
after --插入節(jié)點后面
before --插入節(jié)點前面
2.刪除節(jié)點
update xmlTable
set doc.modify('delete (/dd/a)[1]') --刪除 /dd/a 的第一個節(jié)點
3.修改節(jié)點
update xmlTable
set doc.modify('replace value of (/dd/a/text())[1] with "博客園"')
暫時只學到這么多,以后再寫。。。
創(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é)點
update xmlTable set doc.modify('insert <a>123</a> into (/dd)[1]')
注:insert <要插入的節(jié)點> 插入到 <節(jié)點里面>
into --插入里面
after --插入節(jié)點后面
before --插入節(jié)點前面
2.刪除節(jié)點
update xmlTable
set doc.modify('delete (/dd/a)[1]') --刪除 /dd/a 的第一個節(jié)點
3.修改節(jié)點
update xmlTable
set doc.modify('replace value of (/dd/a/text())[1] with "博客園"')
暫時只學到這么多,以后再寫。。。
相關(guān)文章
SQLServer2005安裝提示服務(wù)無法啟動原因分析及解決
安裝時出現(xiàn)了如下錯誤:SQL Server 2005 安裝錯誤碼29503,接下來講解一下,錯誤原因及解決方法,感興趣的你可以參考下,或許對你有所幫助2013-03-03
SQL Server 2005 同步復(fù)制技術(shù)
SQL Server 2005 同步復(fù)制技術(shù)實現(xiàn)sql語句。2009-06-06
sqlserver 2008手工修改表結(jié)構(gòu),表不能保存的問題與解決方法
今天晚上休息,寫一個小程序,用的是sql server 2008,手工建立了一些表,然后我回頭想到了表字段中有一些需要增加一列,回頭我就插入一列,結(jié)果我保存的時候卻彈出如下窗口2010-04-04
SQL Server 2005恢復(fù)數(shù)據(jù)庫詳細圖文教程
這篇文章主要介紹了SQL Server 2005恢復(fù)數(shù)據(jù)庫詳細圖文教程,需要的朋友可以參考下2014-11-11
SQLServer 2005 控制用戶權(quán)限訪問表圖文教程
SQL Server權(quán)限管理很簡單的一小塊,有些地方并沒有深入理解和講述,只是希望對一些剛?cè)腴T的童鞋有幫助,其它大俠就當是:我當堂嚇一跳,然后得啖笑。2011-07-07
Sqlserver 2005使用XML一次更新多條記錄的方法
Sqlserver 2005使用XML一次更新多條記錄的方法,需要一次更新多條記錄的朋友可以參考下。2010-04-04
安裝SQL2005提示 找不到任何SQL2005組件的問題解決方案
當我在安裝SQL2005的時候出錯了(SQL2005是企業(yè)版的)。由于第一次安裝SQL2005,要求把VS2008的SQL服務(wù)關(guān)了,做了,安裝完畢。2009-08-08

