现在的位置: 首页 > 综合 > 正文

SQL Server 2005中三种插入XML数据的方法

2013年12月04日 ⁄ 综合 ⁄ 共 670字 ⁄ 字号 评论关闭
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 

抱歉!评论已关闭.