【发布时间】:2016-05-13 15:06:03
【问题描述】:
我有两张桌子
OrderedStock
---
OrderID Location
1 Richmond
2 Ohio
3 Queens
OrderItem
---
OrderItemID OrderID Name
1 1 Perfume
2 1 Blinds
3 2 Ball
4 3 Cabinet
如果我必须将这些表中的所有记录复制到类似的表(PostedOrder 和 PostedOrderItem)中,最好的方法是在 PostedOrderItem 表中保留正确的 PostedOrderId。实际上,我在 Order 表中有大约 45K 行要复制,它们嵌套的 OrderItem 记录大约是 200 万。
目标表及其数据如下所示
PostedOrdered
---
PostedOrderID Location
11 Richmond
12 Ohio
13 Queens
PostedOrderItem
---
PostedOrderItemID PostedOrderID Name
101 11 Perfume
102 11 Blinds
103 12 Ball
104 13 Cabinet
PostedOrderId 和 PostedOrderItemId 是各自表中自动递增的主键。
我应该遵循什么最好的方法,而不用选择satement彻底循环?
提前感谢并为激烈的格式道歉。
【问题讨论】:
-
这个问题不清楚。为什么需要循环才能将记录插入新表? SQL
INSERT可以解决问题。无需循环。 -
“相似表”是什么意思?什么是“订单表”,你只有
OrderedStock和OrderItem?您是否尝试从OrderedStock获取行并将它们放入OrderItem?或者尝试从OrderItem中取出行并将它们放入OrderedStock?或者试图从这两个表中取出行并将它们放入另一个表中?请显示您想要的结果的一些示例输出。 -
Devlin:我必须将 OrderStock 和 OrderItemTable 分别复制到 PostedOrder 和 PostedOrderItem 表中。源表是 1. OrderStock 2. OrderItem 目标表是 1. PostedOrder 2. PostedOrderItem 希望它能澄清问题 Paul
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
标签: sql select insert parent-child