XML

Ann725 Ann725 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
出于测试目的,所有 FOR XML 查询都应使用销售订单号 43659。
 需要两条不同的 FOR XML 查询以生成两种不同的 XML 格式。
 第一条FOR XML 查询应生成以属性为中心的 XML,如下面的示例所示:
<SalesOrder SalesOrderID="43659" OrderDate="2001-07-01T00:00:00" AccountNumber="10-4020-000676">
<Item ProductID="776" OrderQty="1" />
<Item ProductID="777" OrderQty="3" />
<Item ProductID="778" OrderQty="1" />
<Item ProductID="771" OrderQty="1" />
<! -- remaining items go here. -->
</SalesOrder>
 第二个 FOR XML 查询应生成以元素为中心和以属性为中心相混合的 XML,如下面的示例所示:
<OrdersList>
<Order>
<SalesOrderID>43659</SalesOrderID>
<OrderDate>2001-07-01T00:00:00</OrderDate>
<AccountNumber>10-4020-000676</AccountNumber>
<ProductID>776</ProductID>
<OrderQty>1</OrderQty>
</Order>
<Order>
<SalesOrderID>43659</SalesOrderID>
<OrderDate>2001-07-01T00:00:00</OrderDate>
<AccountNumber>10-4020-000676</AccountNumber>
<ProductID>777</ProductID>
<OrderQty>3</OrderQty>
</Order>
</OrdersList>
 在这些 FOR XML 查询中,SalesOrder 元素来自于 Sales.SalesOrder Header 表(SalesOrder是Sales.SalesOrder Header的别名),Item 属性和元素来自于 Sales.SalesOrderDetail 表。(Item是Sales.SalesOrderDetail的别名)
 需要一个 OPENXML 查询将 XML 文档(xml文档内容附下)碎分到相应的表中。查询将数据插入Sales.testTable1 表(Sales.testTable1表的创建语句附下),并且应使用以下架构声明:
列名 数据类型
CustomerID int
DueDate datetime
AccountNumber nvarchar(15)
ContactID int
BillToAddressID int
ShipToAddressID int
ShipMethodID int
SubTotal Money
TaxAmt money


附:
一、创建 SalesOrderHeader ---订单表,SalesOrderDetail
create table SalesOrderHeader
( SalesOrderID int,
OrderDate datetime,
AccountNumber nvarchar(15)
)
create table SalesOrderHeader
( ProductID int ,
OrderQty int,
SalesOrderID int
)
二、Sales.testTable1表创建语句:
create table Sales.testTable1
( CustomerID int,
DueDate datetime,
AccountNumber nvarchar(15),
ContactID int,
BillToAddressID int,
ShipToAddressID int,
ShipMethodID int,
SubTotal money,
TaxAmt money
)


三、xml文档内容:
'<?xml version="1.0" ?>
<SalesOrder CustomerID="18759" DueDate="2006-01-01T00:00:00" AccountNumber="10-4030-018759" ContactID="4189" BillToAddressID="14024" ShipToAddressID="14024" ShipMethodID="1" SubTotal="174.20" TaxAmt="10">
<Item>
<ProductID>714</ProductID>
<OrderQty>5</OrderQty>
<UnitPrice>28.84</UnitPrice>
</Item>
<Item>
<ProductID>715</ProductID>
<OrderQty>1</OrderQty>
<UnitPrice>30</UnitPrice>
</Item>
</SalesOrder>'
...全文
评论 5
收藏 已收藏
分享
返回顶部
Ann725
疑难问题 22,298 成员 121,727 内容