如何将autoNumbersCode插入另一个表

时间:2014-04-15 06:53:11

标签: sql foreign-keys

我有2个表格,其中包含以下字段:

CompanyTable (companyCode, name, contactCode)
ContactTable (contactCode, address, phone)

CompanyTable.contactCode是分配给ContactTable.contactCode

的foregin键

以及CompanyTable.companyCodeCompanyTable.contactCode都是自动编号。

当我在contactTable中插入新记录时,我想将它的contactCode插入到CompanyTable.contactCode中,如下所示:

insert into contactTable ( address, phone) values ('x', 'x')

update companyTable set company.contactCode = ---------

如何在插入查询后获取最新的身份值?

由于

2 个答案:

答案 0 :(得分:2)

使用@@IDENTITY检索最新生成的身份值。

在插入查询后执行它。

insert into contactTable ( address, phone) values ('x', 'x')

DECLARE @contactCode INT;
SELECT @contactCode = @@IDENTITY;
update companyTable set company.contactCode = @contactCode Where companyCode=1

答案 1 :(得分:0)

您可以添加触发器以添加contactCode。它看起来像这样:

CREATE TRIGGER trgUpdateCompanyTable
   ON  dbo.ContactTable
   AFTER INSERT
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    DECLARE @id INTEGER

    SET @id = (SELECT IDENT_CURRENT('ContactTable'))

    INSERT INTO CompanyTable (contactCode)
    VALUES (@id)

END
GO