博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server2005中使用XML-OPENXML
阅读量:5898 次
发布时间:2019-06-19

本文共 1473 字,大约阅读时间需要 4 分钟。

使用open xml将别人的xml数据插入到自己的数据库中 DECLARE @doc xml SET @doc = '<?xml version="1.0" ?> 714528.84715130' DECLARE @docHandle int --调用系统存储过程以创建内存树 (sp_xml_preparedocument解析XML文档,在内存中形成一棵树,将树的根节点指针作为句柄传回;后面的程序,通过句柄进行操作。) EXECsp_xml_preparedocument@docHandleOUTPUT, @doc ----------------------------------------------------------------------------- INSERT[Sales].[SalesOrderHeader] ([CustomerID], [DueDate], [AccountNumber], [ContactID], [BillToAddressID], [ShipToAddressID], [ShipMethodID], [SubTotal], [TaxAmt]) SELECT * FROM --添加OPENXML查询(返回一张表)插入数据到SalesOrderHeader表 OPENXML(@docHandle, '/SalesOrder', 1) --访问/SalesOrder节点,0代表默认映射(属性),1代表节点的属性,2代表节点的文本,3代表属性和文本 WITH--定义表的结构 (CustomerIDint, DueDatedatetime, AccountNumbernvarchar(15), ContactIDint, BillToAddressID int, ShipToAddressID int, ShipMethodIDint, SubTotalmoney, TaxAmtmoney) ----------------------------------------------------------------------------- DECLARE @result int --获取SalesOrderHeader插入的特性以使用在SalesOrderDetail插入中 SET @result = SCOPE_IDENTITY() INSERT INTO[Sales].[SalesOrderDetail] ([SalesOrderID], [OrderQty], [ProductID], [SpecialOfferID], [UnitPrice]) SELECT@result, [OrderQty], [ProductID], 1, [UnitPrice]FROM --添加OPENXML查询插入数据到SalesOrderDetail表 OPENXML(@docHandle, '/SalesOrder/Item', 2) --访问/SalesOrder/Item节点,1代表节点的属性,2代表节点的文本 WITH (OrderQtyint, ProductIDint, UnitPricemoney) --调用存储过程以清除内存树 EXEC sp_xml_removedocument @docHandle

转载于:https://www.cnblogs.com/zhaomingliang/archive/2012/01/13/2321495.html

你可能感兴趣的文章
HDFS dfsclient写文件过程 源码分析
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
常见的海量数据处理方法
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>