如何在外键列中插入值?

时间:2015-11-09 09:15:43

标签: sql sql-server-2008 insert foreign-keys

在以下情况中如何填写Foreign Key列。

它在NULL的{​​{1}}列中返回tblCustomer值,而它设置为外部约束。

OrderId

如何将外键结果存储在列中。

2 个答案:

答案 0 :(得分:1)

insert into tblCustomer(CustomerName, OrderId) 
values ('CustomerOne',(select OrderId from tblOrder where OrderName = 'OrderOne')

答案 1 :(得分:1)

SCOPE_IDENTITY()就是你想要的。

DECLARE @OrderId int;
insert into tblOrder(OrderName) Values ('OrderOne');

SET @OrderId = SCOPE_IDENTITY();
insert into tblCustomer(OrderId, CustomerName) values (@OrderId ,'CustomerOne');

但我认为你的主要/外键关系是错误的。通常情况下,外键更适合使用tblOrder。您目前拥有它的方式,订单可以属于许多客户,但客户只能订购一个订单。