sqlserver2008對XML的操作

2021-06-13 11:06:37 字數 2474 閱讀 3986

sqlserver2008對xml的解析:

sql對xml資料的操作

declare @xml xml

set @xml='

student1

student2

student3

student4

student5

'--1、查詢

select @xml.query('/xml/student')

select @xml.query('(/xml/student)[1]')

select @xml.value('(/xml/student)[3]','varchar(max)')

select @xml.value('(/xml/student/@name)[5]','varchar(100)')

select @xml.query('(/xml/student)[@id=3]')

---2、修改

---修改屬性

set @xml.modify(' replace value of(/xml/student[@id=1]/@name)[1] with "aaaaa" ')

---修改節點

set @xml.modify(' replace value of(/xml/student[@id=1]/text())[1] with "bbbb" ')

select @xml.query('/xml/student')

---3、刪除

---刪除節點

set @xml.modify('delete /xml/student[@id=1]')

---刪除屬性

set @xml.modify('delete /xml/student[@id=2]/@id')

select @xml

--4、新增

---新增節點

set @xml.modify('insert 三年二班 into (/xml/student[@id=1])[1]')

set @xml.modify('insert 三年二班 before (/xml/student[@id=1])[1]')

set @xml.modify('insert 三年二班 after (/xml/student[@id=1])[1]')

---新增屬性

set @xml.modify('insert (attribute ***,attribute age) into (/xml/student[@id=1])[1]')

select @xml

for xml 子句的查詢效果

create table t_a

( tag int ,

parent int ,

number int

)insert into t_a(tag,parent,number) values(1,0,1)

insert into t_a(tag,parent,number) values(2,1,2)

insert into t_a(tag,parent,number) values(3,1,3)

insert into t_a(tag,parent,number) values(4,2,4)

insert into t_a(tag,parent,number) values(5,2,5)

select * from t_a for xml auto
select * from t_a for xml raw
select * from t_a for xml path
101

2123

1342

4525

對於 explicit模式,請參考

對SqlServer2008中的日誌進行截斷的方法

第一步 執行以下語句 use 資料庫名 go 第二步 備份資料庫日誌到c 1.bak中 backup log 資料庫名 to disk c 1.bak go 第三步 查詢此資料庫的邏輯檔名 declare log filename varchar 256 select log filename na...

Sql Server 2008 收縮日誌

收縮日誌 alter database dnname set recovery with no wait goalter database dnname set recovery 簡單模式 gouse dnname godbcc shrinkfile n dnname log 11,truncate...

徹底解除安裝sql server2008

微軟的開發工具在按裝和解除安裝時都讓人頭疼,只能是裝在c盤,裝在其他盤時最容易出事 在重新按裝的時候一定要把以前的例項解除安裝完才行。要不就會出錯。在解除安裝sql server後,其實還沒有完成,還要把登錄檔資訊完全刪乾淨,下面就將教您徹底刪除sql server登錄檔的方法,供您參考。在解除安裝...