手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server Table中XML列的操作代码
SQL Server Table中XML列的操作代码
摘要:复制代码代码如下:--创建测试表DECLARE@UsersTABLE(IDINTIDENTITY(1,1),UserInfoXML)---插...

复制代码 代码如下:

--创建测试表

DECLARE @Users TABLE

(

ID INT IDENTITY(1,1),

UserInfo XML

)

---插入测试数据

DECLARE @xml XML

SET @xml='

<root>

<user>

<userid>1</userid>

<userName>test1</userName>

</user>

</root>'

INSERT INTO @Users(UserInfo)VALUES(@xml)

--插入单节点,(类型:as first,as last,after(默认),before)

UPDATE @Users SET UserInfo.modify('insert <address>shanghai</address>

into (/root/user)[1]')

--插入多节点以','分割

UPDATE @Users SET UserInfo.modify('insert (<firstName>steven</firstName>,

<lastName>shi</lastName>) into (/root/user)[1]')

-- 增加属性

declare @editTime varchar(23);

set @editTime=CONVERT(VARCHAR(23), GETDATE(), 121);

UPDATE @Users SET UserInfo.modify(

N'insert (attribute editTime {sql:variable("@editTime")})

into(/root/user/userid)[1]'

)

--插入多属性以','分割

declare @aid float,@bid float

set @aid=0.5

UPDATE @Users SET UserInfo.modify('insert (attribute aid {sql:variable("@aid")},

attribute bid {"test"}

)

into (/root/user)[1]')

---插入注释

UPDATE @Users SET UserInfo.modify(N'insert <>

before (/root/user/userid[1])[1]')

---插入处理指令

UPDATE @Users SET UserInfo.modify('insert <?Program = "A.exe" ?>

before (/root)[1]')

---插入CDATA

UPDATE @Users SET UserInfo.modify(N'insert <C><![CDATA[<city>北京</city> or cdata]]> </C>

after (/root/user)[1]')

---插入文本

UPDATE @Users SET UserInfo.modify(N'insert text{"插入文本"} as first

into (/root/user)[1]')

---根据 if 条件语句进行插入

---判断属性值

UPDATE @Users SET UserInfo.modify('insert if(/root/user[@ID=1]) then (<tel>888888</tel>)

else (<qq>66666</qq>)

into (/root/user)[1]')

----判断节点Value

UPDATE @Users SET UserInfo.modify('insert if(/root/user[firstName="steven1"]) then (<tel>1111</tel>)

else (<qq>2222</qq>)

into (/root/user)[1]')

----判断user 节点数是否小于等于10

UPDATE @Users SET UserInfo.modify('insert if (count(/root/user)<=10) then element user { "This is a new user" }

else () as last

into (/root)[1]')

SELECT * FROM @Users

--有命名空间的操作

--DECLARE @xml XML

-- SET @xml='<root xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users">

-- <user>

-- <userid>1</userid>

-- <userName>test1</userName>

-- </user>

-- </root>'

-- INSERT INTO Users(UserInfo)VALUES(@xml)

-- UPDATE Users SET UserInfo.modify('

-- declare namespace UI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users";

-- insert <UI:user>

-- <UI:firstName>steven2</UI:firstName>

-- </UI:user> as first

-- into (/UI:root)[1]')

-- SELECT * FROM Users

-- UPDATE Users SET UserInfo.modify('

-- declare namespace UI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users";

-- insert attribute ID { "55" }

-- into (/UI:root/UI:user)[1]')

【SQL Server Table中XML列的操作代码】相关文章:

SQLServer APPLY表运算符使用介绍

SQL Server 2005与sql 2000之间的数据转换方法

SQL Server编写函数获取汉字的拼音码

SQL Server存储过程的基础说明

SQL Server 2008 数据库中创建只读用户的方法

SQL Server 工作技巧

SQL Server 2008中SQL之WaitFor使用介绍

SQL Server2005下的安全操作技巧分享

SQL Server 2008中的数据表压缩功能详细介绍

SQL Server 2005中更改sa的用户名的方法

精品推荐
分类导航