SQL XML的查詢操作

2021-05-28 13:55:01 字數 2154 閱讀 4522

查詢xml節點 value:通過nodes 指定到節點通過value屬性取出值

declare

@xml

xmlset@xml='

12'

select

id.value('.

','nvarchar(500)') 

as employeeid

from

@xml

.nodes(

'employee/id

' ) employee(id)            

查詢 xml節點的屬性:            

declare

@xml

xmlset@xml='

' select

employeeid.value(

'./@id',

'nvarchar(500)') 

as reportcolumnid

from

@xml

.nodes(

'/employee/employeeid

' ) 

x(employeeid)

查詢xml 多節點的值,可以通過子查詢實現:

declare

@xml

xmlset@xml='

1a12

b23c3'

select

id.value('.

', 'nvarchar(100)') 

asid,name.value('.

','nvarchar(100)') 

as name

from (

select

t.c.query('id

') as id, 

t.c.query(

'name') 

as name

from

@xml

.nodes(

'/x/t') 

as t(c)

)btopenxml 查詢方式:

declare

@idoc

int

declare

@doc

varchar

(1000

)set

@doc='

'---建立文件內部格式

exec

sp_xml_preparedocument 

@idoc

output, 

@doc

select*

from

openxml (

@idoc, '

/root/customer',

1 )

with

(customerid  

varchar(10

),contactname 

varchar(20

))openxml 查詢方式:

declare

@idoc

int

declare

@doc

varchar

(1000

)set

@doc='

'---建立文件內部格式

exec

sp_xml_preparedocument 

@idoc

output, 

@doc

select*

from

openxml (

@idoc, '

/root/customer/order/orderdetail',

2 )

with

(orderid       

int'

../@orderid

' ,

customerid  

varchar(10

) '../@customerid

' ,

orderdate   

datetime

'../@orderdate

' ,

prodid      

int'

@productid

' ,

qty         

int'

@quantity')

著意耕耘,自有收穫

動態sql XML 的foreach迴圈

foreach在xml動態sql總用於陣列集合等引數的接收 collection 傳遞過來的陣列或集合等引數名稱 collection 引數名 index 通過下標0,1,2來迴圈取出每個元素 index index item 每迴圈一次所取出的引數 取別名,這個可以隨便填,與 表示式中的引數對應 ...

查詢的有關操作

1 利用實驗一建立有序表,採用折半查詢實現某一已知的關鍵字的查詢。2 隨機產生一組關鍵字,利用二叉排序樹的插入演算法建立二叉排序樹,然後刪除某一指定關鍵字元素。3 已知雜湊函式為h key key p p為自定的常數 衝突處理方法分別為線性探測法 外拉鍊法實現 雜湊表的建立 利用插入演算法實現 in...

查詢的有關操作

實驗名稱 查詢的有關操作 實驗室名稱 丹青909 實驗台號 14 學生姓名 陳佳龍 專業班級 2015級1班 指導教師 於慧伶 實驗日期 2017 6 12 一 實驗目的 掌握折半查詢演算法的思想及程式實現。掌握二叉排序樹的查詢 插入 刪除 建立演算法的思想及程式實現。掌握雜湊儲存結構的思想,能選擇...