<Order>
<AmazonOrderID>1111-222-33</AmazonOrderID>
<MerchantOrderID>111-222-33</MerchantOrderID>
<PurchaseDate>2014-08-03T18:11:11+00:00</PurchaseDate>
<LastUpdatedDate>2014-08-03T18:11:14+00:00</LastUpdatedDate>
<OrderStatus>Pending</OrderStatus>
<SalesChannel>Amazon.in</SalesChannel>
<FulfillmentData>
<FulfillmentChannel>Amazon</FulfillmentChannel>
<ShipServiceLevel>Standard</ShipServiceLevel>
<Address>
<City>bangalore</City>
<State>karnataka</State>
<PostalCode>560038</PostalCode>
<Country>IN</Country>
</Address>
</FulfillmentData>
<OrderItem>
<ASIN>B00AW9A53Q</ASIN>
<SKU>SiM13</SKU>
<ItemStatus>Unshipped</ItemStatus>
<ProductName>Chicco 500ml Body Lotion</ProductName>
<Quantity>1</Quantity>
<ItemPrice>
<Component>
<Type>Principal</Type>
<Amount currency="INR">390.0</Amount>
</Component>
</ItemPrice>
</OrderItem>
</Order>
如何将此xml数据导入关系表。我有2个表,一个是订单,另一个是items.i想在订单表中插入下面提到的行作为主键。
<AmazonOrderID>111-222-333</AmazonOrderID>
<MerchantOrderID>1111-3333-444</MerchantOrderID>
<PurchaseDate>2014-08-03T18:11:11+00:00</PurchaseDate>
<LastUpdatedDate>2014-08-03T18:11:14+00:00</LastUpdatedDate>
<OrderStatus>Pending</OrderStatus>
<SalesChannel>Amazon.in</SalesChannel>
并使用amazonid作为外键订购商品表中的商品
<OrderItem>
<ASIN>B00AW9A53Q</ASIN>
<SKU>SiM13</SKU>
<ItemStatus>Unshipped</ItemStatus>
<ProductName>Chicco 500ml Body Lotion</ProductName>
<Quantity>1</Quantity>
<ItemPrice>
<Component>
<Type>Principal</Type>
<Amount currency="INR">390.0</Amount>
</Component>
</ItemPrice>
</OrderItem>
</Order>
请任何人都可以为此提供解决方案..我将非常感激。
答案 0 :(得分:0)
假设您的XML在名为XML
的{{1}}类型的SQL变量中,您可以在问题的第一部分使用它:
@Input
我不太清楚你想要对你的问题的第二部分做什么 - 是否有多个INSERT INTO dbo.Order(AmazonOrderID, MerchantOrderID,
PurchaseDate, LastUpdateDate, OrderStatus, SalesChannel)
SELECT
AmazonOrderID = @input.value('(/Order/AmazonOrderID)[1]', 'varchar(25)'),
MerchantOrderID = @input.value('(/Order/MerchantOrderID)[1]', 'varchar(25)'),
PurchaseDate = @input.value('(/Order/PurchaseDate)[1]', 'datetimeoffset'),
LastUpdatedDate = @input.value('(/Order/LastUpdatedDate)[1]', 'datetimeoffset'),
OrderStatus = @input.value('(/Order/OrderStatus)[1]', 'varchar(20)'),
SalesChannel = @input.value('(/Order/SalesChannel)[1]', 'varchar(50)')
条目?你想对嵌套的<OrderItem>
结构做什么?
你是什么意思 amazonid作为外键 - 你指的是什么<ItemPrice>
?