600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mysql操作xml字段_SQL XML 字段操作

mysql操作xml字段_SQL XML 字段操作

时间:2024-05-26 03:05:47

相关推荐

mysql操作xml字段_SQL XML 字段操作

DECLARE @myDoc xml

SET @myDoc =

'

'

--SELECT @myDoc

-- 插入item的第1个子节点,此时不需要指定as first或as last

SET @myDoc.modify(N'

insert 张洪举

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

SELECT @myDoc

-- 插入item的第2个子节点,as first指定插入到同级子节点的前面

SET @myDoc.modify(N'

insert

SQL Server 开发宝典

as first into (/root/item)[1]')

SELECT @myDoc

-- 插入第2个item节点

SET @myDoc.modify('

insert

into (/root)[1]')

SELECT @myDoc

-- 向第2个item中插入第1个子节点

SET @myDoc.modify('

insert

SQL Server 的新增功能

as first into (/root/item)[2]')

SELECT @myDoc

GO

---------------------------------------------------二

DECLARE @myDoc xml

SET @myDoc = '

'

SELECT @myDoc

SET @myDoc.modify('

insert (

SQL Server 开发宝典,

张洪举

)

into (/root/item)[1]');

SELECT @myDoc

GO

---------------------------------------------------三

DECLARE @myDoc xml

SET @myDoc = N'

Ajax实战

张洪举

Ajax实战

张洪举

'

SELECT @myDoc

SET @myDoc.modify(N'

insert attribute ShipTo {"广州"}

into (/root/item[@ID=1])[1]');

SET @myDoc.modify(N'

insert attribute ShipVia {"UPS"}

into (/root/item[@ID=1])[1]');

SELECT @myDoc

-- 通过一个sql变量指定要插入属性ShipDate的值

DECLARE @ShipDate char(11)

SET @ShipDate='-01-23Z'

SET @myDoc.modify('

insert attribute ShipDate {sql:variable("@ShipDate") cast as xs:date ?}

into (/root/item[@ID=1])[1]') ;

SELECT @myDoc

-- 插入多个属性,属性之间使用逗号分隔,并包含在括号内

SET @myDoc.modify('

insert (

attribute PostCode {"253020" },

attribute Weight {"1.5"}

)

into (/root/item[@ID=1])[1]');

SELECT @myDoc

GO

---------------------------------------------------四

DECLARE @myDoc xml

SET @myDoc = N'

Ajax实战

张洪举

实战

卢桂章

'

SET @myDoc.modify('

insert

after (/root/item[@ID=2]/title)[1]');

SELECT @myDoc

GO

---------------------------------------------------五

DECLARE @myDoc xml

SET @myDoc = N'

Ajax实战

张洪举

实战

卢桂章

'

SET @myDoc.modify(N'

insert 上门未收]]>

into (/root/item[@ID=2])[1] ') ;

SELECT @myDoc

GO

---------------------------------------------------六

DECLARE @myDoc xml

SET @myDoc = N'

Ajax实战

张洪举

'

SET @myDoc.modify(N'

insert text{"订单列表"}

as first into (/root)[1]');

SELECT @myDoc

GO

---------------------------------------------------六

use jobproject

CREATE XML SCHEMA COLLECTION MySchemas

AS

N'<?xml version = "1.0"?>

xmlns:xsd="/2001/XMLSchema">

';

GO

-- 创建包含xml数据类型列的表

CREATE TABLE MyCustomer

(CustomerID int IDENTITY PRIMARY KEY,

CustomerItem xml(MySchemas));

GO

-- 向表中插入XML,该XML应当符合/customerschemas命名空间架构的定义

INSERT INTO MyCustomer

VALUES

(N'

北方书城

北京市海淀区知春路22号

2222222

刘先生

');

-- 使用XML DML insert插入另一个item节点到XML中

UPDATE MyCustomer

SET CustomerItem.modify('

declare namespace CS="/customerschemas";

insert (

东图大厦

长春市朝阳大街99号

1111111

孙×××

)

into (/CS:customer)[1] ')

WHERE CustomerID=1;

SELECT CustomerItem

FROM Mycustomer;

GO

---------------------------------------------------七

DECLARE @myDoc xml

SET @myDoc = '<?Instructions for=TheWC.exe ?>

这里是文本

Ajax实战

张洪举

实战

卢桂章

'

SELECT @myDoc

-- 删除注释

SET @myDoc.modify('

delete /root/comment()

')

SELECT @myDoc

-- 删除所有指令

SET @myDoc.modify('

delete //processing-instruction()

')

SELECT @myDoc

-- 删除ID为1的item中的文本节点

SET @myDoc.modify('

delete /root/item[@ID=1]/text()

')

SELECT @myDoc

-- 删除一个属性

SET @myDoc.modify('

delete /root/item[@ID=1]/@ShipTo

')

SELECT @myDoc

-- 删除一个元素

SET @myDoc.modify('

delete /root/item[@ID=2]/author

')

SELECT @myDoc

-- 删除ID为2的item节点

SET @myDoc.modify('

delete /root/item[@ID=2]

')

SELECT @myDoc

GO

---------------------------------------------------八

UPDATE MyCustomer

SET CustomerItem.modify('

declare namespace CS="/customerschemas";

delete /CS:customer/item[@ID=2]

');

SELECT CustomerItem FROM MyCustomer;

GO

---------------------------------------------------九

DECLARE @myDoc xml

SET @myDoc = '

Ajax实战

张洪举

实战

卢桂章

'

SELECT @myDoc

-- 更新ID为1的item中的title元素的文本

SET @myDoc.modify('

replace value of (/root/item[@ID=1]/title/text())[1]

with "Ajax实战攻略"

')

SELECT @myDoc

-- 更新属性值

SET @myDoc.modify('

replace value of (/root/item[@ID=2]/@ID)[1]

with "3"

')

SELECT @myDoc

---------------------------------------------------九

declare @xdoc xml

set @xdoc = N'

'

-------第一方法

select excel_path = t.c.value('@path' ,'varchar(255)')

,excel_name = t.c.value('@filename' ,'varchar(255)')

from @xdoc.nodes('/conn/excel') t (c)

where t.c.value('@id', 'int') = 1

-------第二方法

select excel_path = @xdoc.value('(/conn/excel[@id="1"]/@path)[1]', 'varchar(255)')

,excel_name = @xdoc.value('(/conn/excel[@id="1"]/@filename)[1]', 'varchar(255)')

-------第三方法

declare @excel_id int

set @excel_id = 1

select excel_path = @xdoc.value('(/conn/excel[@id=sql:variable("@excel_id")]/@path)[1]', 'varchar(255)')

,excel_name = @xdoc.value('(/conn/excel[@id=sql:variable("@excel_id")]/@filename)[1]', 'varchar(255)')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。