我们知道SQL Server 2005中增加了XML类型,也就是说在创建表的时候可以指定某一列为XML类型,如:
CREATE TABLE customers
(
name VARCHAR(20) NOT NULL PRIMARY KEY,
description XML
)
那么如何向XML类型的列中插入数据呢?
基本上有三种办法:
1。直接使用字符串,如
INSERT INTO customers (feedName, feedXML) VALUES
(‘Ramon Liu’, ‘<description>rich customer</description>’)
2。使用FOR XML,如
GO
--declare xml type variable
DECLARE @xmlDoc XML
SET @xmlDoc =
(
SELECT Name, SalesYTD FROM Sales.SalesTerritory
FOR XML AUTO, ROOT ('territories'), ELEMENTS
)
INSERT INTO customers (name, description) VALUES
('Stanley', @xmlDoc)
3.使用OPENROWSET从文件中加载,如
GO
INSERT INTO customers (name, description)
SELECT 'Justin', xmlData FROM
(
SELECT * FROM OPENROWSET
(BULK 'd:/desc.xml', SINGLE_NCLOB)
AS xmlData
) AS feed (xmlData)
GO
SELECT * FROM customers
CREATE TABLE customers
(
name VARCHAR(20) NOT NULL PRIMARY KEY,
description XML
)
那么如何向XML类型的列中插入数据呢?
基本上有三种办法:
1。直接使用字符串,如
INSERT INTO customers (feedName, feedXML) VALUES
(‘Ramon Liu’, ‘<description>rich customer</description>’)
2。使用FOR XML,如
GO
--declare xml type variable
DECLARE @xmlDoc XML
SET @xmlDoc =
(
SELECT Name, SalesYTD FROM Sales.SalesTerritory
FOR XML AUTO, ROOT ('territories'), ELEMENTS
)
INSERT INTO customers (name, description) VALUES
('Stanley', @xmlDoc)
3.使用OPENROWSET从文件中加载,如
GO
INSERT INTO customers (name, description)
SELECT 'Justin', xmlData FROM
(
SELECT * FROM OPENROWSET
(BULK 'd:/desc.xml', SINGLE_NCLOB)
AS xmlData
) AS feed (xmlData)
GO
SELECT * FROM customers
本文介绍在SQL Server 2005中如何利用XML数据类型进行数据存储,并提供了三种向XML类型列插入数据的方法:直接使用字符串、使用FOR XML以及通过OPENROWSET从文件加载。
4987

被折叠的 条评论
为什么被折叠?



