3
的我有2个表:TSQL插入一组行和相关行
- 订单(有标识订单ID字段)
- 的OrderItems(与外键订单ID)
在一个存储过程中,我有一个需要复制的命令列表。有没有一种好方法可以在存储过程中做到这一点没有游标?
编辑:
这是SQL Server上2008
为表样品规格可能是:
CREATE TABLE Order (
OrderID INT IDENTITY(1,1),
CustomerName VARCHAR(100),
CONSTRAINT PK_Order PRIMARY KEY (OrderID)
)
CREATE TABLE OrderItem (
OrderID INT,
LineNumber INT,
Price money,
Notes VARCHAR(100),
CONSTRAINT PK_OrderItem PRIMARY KEY (OrderID, LineNumber),
CONSTRAINT FK_OrderItem_Order FOREIGN KEY (OrderID) REFERENCES Order(OrderID)
)
存储的过程传递弗雷德的”一个客户名称',所以它试图克隆CustomerName ='fred'的所有订单。
为了给出一个更具体的例子:
佛瑞德恰好有2个数量:
- 订单1具有行号1,2,3
- 订单2具有行号1,2, 4,6。
如果表中的下一个标识为123的话,我希望创建:
- 用线1,2,3
- 订购124线1,2,4定单123 ,6
你能更具体吗? – JNK 2011-12-20 16:44:50
你是如何通过你的名单?什么版本的SQL Server? – MatBailie 2011-12-20 16:45:21
通过复制,你的意思是将相同的信息写入同一张表,但使用不同的ID? – GSerg 2011-12-20 16:45:23