我有2个表格,其中包含以下字段:
CompanyTable (companyCode, name, contactCode)
ContactTable (contactCode, address, phone)
CompanyTable.contactCode是分配给ContactTable.contactCode
以及CompanyTable.companyCode
和CompanyTable.contactCode
都是自动编号。
当我在contactTable中插入新记录时,我想将它的contactCode插入到CompanyTable.contactCode中,如下所示:
insert into contactTable ( address, phone) values ('x', 'x')
update companyTable set company.contactCode = ---------
如何在插入查询后获取最新的身份值?
由于
答案 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