成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2005中XML操作函數(shù)詳解

數(shù)據(jù)庫(kù) SQL Server 開(kāi)發(fā)
本文中作者對(duì)SQL Server 2005中XML操作函數(shù)作了詳細(xì)介紹,希望可以給你帶來(lái)幫助。

首先要明確一個(gè)基本原則,XML類(lèi)型的數(shù)據(jù)之間以及XML類(lèi)型與其它數(shù)據(jù)類(lèi)型之間都是不能比較的,也就是說(shuō)XML類(lèi)型的數(shù)據(jù)不能出現(xiàn)在等號(hào)的任何一邊。

大致可分為查詢類(lèi),修改類(lèi)和跨域查詢類(lèi)。

查詢類(lèi)包含query(),value(),exist()和nodes().

修改類(lèi)包含modify().

跨域查詢類(lèi)包含sql:variable()和sql:column().


查詢類(lèi)

1. query()方法:返回滿足條件的所有XML行。只能用于SELECT子句當(dāng)中。

2. value()方法:返回從XML節(jié)點(diǎn)中提取的標(biāo)量值。必須在value()方法的第二個(gè)參數(shù)中指定所返回的標(biāo)量的數(shù)據(jù)類(lèi)型,所以value()方法可以與其它標(biāo)量進(jìn)行比較。可用于SELECT子句和WHERE子句。

3. exist()方法:返回int型標(biāo)量的0或者1。對(duì)每行的XML數(shù)據(jù)類(lèi)型進(jìn)行存在性檢查。可用于SELECT子句和WHERE子句。

4. nodes()方法:返回只有一個(gè)欄位的table,且該table的欄位是XML數(shù)據(jù)類(lèi)型。所以nodes()方法只能出現(xiàn)在FROM子句中。

示例:

1.query()

SELECT pk, xCol.query('/doc[@id = 123]//section')
FROM docs 

2.value()

SELECT xCol.value('data((/doc//section[@num = 3]/heading)[1])', 'nvarchar(max)')
FROM docs

3.exist()

SELECT xCol.query('/doc[@id = 123]//section')
FROM   docs
WHERE  xCol.exist ('/doc[@id = 123]') = 1

4.nodes()

SELECT nref.value('@genre', 'varchar(max)') LastName
FROM   docs CROSS APPLY xCol.nodes('//book') AS R(nref)

修改類(lèi)

modify()方法:允許修改XML實(shí)例的某些部分,例如添加或刪除子樹(shù),或者更新標(biāo)量值(如將書(shū)的價(jià)格從9.99替換為39.99)。

無(wú)返回值,只能用于SET子句中。

--在指定位置添加子樹(shù)('insert...after...')

UPDATE docs SET xCol.modify('
  insert
   <section num="2">
         <heading>Background</heading>
</section>               
  after (/doc/section[@num=1])[1]')

--更改指定節(jié)點(diǎn)中的標(biāo)量值('replace...with...')

UPDATE XmlCatalog
SET    Document.modify ('
    default namespace = "http://myBooks"
    replace value of (/bookstore/book[@ISBN=
"1-8610-0311-0"]/price)[1] with 49.99')

跨域查詢類(lèi)

如果數(shù)據(jù)駐留在關(guān)系數(shù)據(jù)類(lèi)型的列和XML數(shù)據(jù)類(lèi)型的列的組合中,就可能需要編寫(xiě)查詢來(lái)組合關(guān)系數(shù)據(jù)處理和XML數(shù)據(jù)處理(組合的對(duì)象還可以是標(biāo)量數(shù)據(jù)類(lèi)型的SQL變量和XML數(shù)據(jù)),這樣的查詢就叫跨域查詢。

sql:variable()方法:可以在XQuery或XML DML表達(dá)式中應(yīng)用SQL變量的值。

sql:variable()

DECLARE @isbn varchar(20)
SET     @isbn = '0-7356-1588-2'
SELECT  xCol
FROM    docs
WHERE   xCol.exist ('/book[@ISBN = sql:variable("@isbn")]') = 1

sql:column()方法:可以在XQuery或XML DML表達(dá)式中使用來(lái)自關(guān)系列的值。

【編輯推薦】

  1. 在ASP.NET中使用Treeview控件和XML
  2. 用XML和XSL來(lái)生成動(dòng)態(tài)頁(yè)面
  3. JavaScript解析XML的方法總結(jié)
責(zé)任編輯:楊鵬飛 來(lái)源: bugchen888的專(zhuān)欄
相關(guān)推薦

2009-04-02 09:46:19

排名函數(shù)排序SQL 2005

2010-09-09 16:10:57

sql server2循環(huán)

2010-07-19 11:17:28

SQL Server

2009-10-23 10:08:29

SQL SERVER

2010-07-12 11:06:37

SQL Server2

2009-10-23 12:44:35

SQL SERVER

2011-08-11 09:12:31

SQL Server nolock

2010-03-19 10:23:06

2010-10-21 15:13:20

SQL Server系

2011-08-22 13:28:56

FOR XMLSQL Server

2010-07-09 11:22:18

SQL Server

2011-09-01 16:13:37

Visual StudSQL Server 存儲(chǔ)過(guò)程

2010-07-23 12:55:29

SQL Server

2011-04-02 16:20:21

SQL SERVER 同步復(fù)制

2010-07-13 16:48:14

SQL Server

2010-10-25 09:11:22

2010-09-08 14:03:41

SQL函數(shù)CONVERT

2011-08-24 09:15:36

SQL Server數(shù)FOR XML AUT

2010-07-09 11:06:13

SQL Server

2010-06-28 09:28:32

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人免费视频一区二区 | 日韩高清一区 | 免费一区 | 欧美一区成人 | 日本三级电影免费观看 | 久久国产一区 | 国产精品a久久久久 | 国产亚洲成av人片在线观看桃 | 日韩免费一二三区 | 在线观看亚洲精品视频 | 综合网视频 | 日韩精品一区二区三区 | 欧美精品福利 | 亚洲一区中文字幕在线观看 | 中国一级大黄大片 | 国产精品一区二区福利视频 | 91在线免费视频 | 成人特级毛片 | 97精品国产 | 久久久人成影片一区二区三区 | 99久久精品国产一区二区三区 | 国产成人一区二区三区精 | 欧美成人一区二区三区 | 亚洲精品国产第一综合99久久 | 国产精品一区二区不卡 | 国产日韩欧美在线观看 | 国外成人在线视频网站 | 午夜在线影院 | 精品久久久久久久久久久久 | 久久久久国产精品一区二区 | 国产99久久精品 | 影音先锋亚洲资源 | 日韩一区二区在线播放 | 国产欧美视频一区二区 | 精品视频在线观看 | 国产精品一区二区三级 | 九九热精品在线 | 精品国产一区二区在线 | 日本不卡在线视频 | 日韩三级电影一区二区 | 91毛片在线看 |