带有外键/主键的SQL表2表插入

时间:2017-04-20 05:26:57

标签: sql sql-server sql-server-2008 foreign-keys primary-key

我有两张桌子。一个是Order标题,另一个是订单行。 订单标题:

OrderID Customer IntegrationID(Identity auto Incremental)

订单行:

OrderID Itemid IntegrationID

我想做的事情: 我运行一个存储过程,用数据填充这两个表,我希望订单行具有与订单头相同的IntegrationID。例如,当我插入订单标题时:

OrderID Customer IntegrationID(Identity auto Incremental)
500       5          1
501       4          2

在订单行中我想要这样的数据:

OrderID Itemid IntegrationID
 500     101         1
 500     102         1
 501     102         2

任何想法我怎样才能实现这一目标? Orderheader和订单行通过ORDERID字段链接。

1 个答案:

答案 0 :(得分:0)

简单,
例如,在您的存储过程中,您可以在表格中输入记录"订单标题"

Insert into (col1,col2) values ("val1","val2")

然后你应该使用以下查询插入表"订单行"

SELECT @new_identity = SCOPE_IDENTITY()

然后在查询

中插入此@new_identity
Insert into Order Line (OrderID Itemid IntegrationID) values 
("value1","value2",@new_identity)

但要确保这两个查询都在相同的存储过程中执行 如果你有两个SP,那么你应该从第一个SP返回