簡體   English   中英

從交易中的第一個表獲取ID

[英]Get Id from first table in transaction

我有這兩個表 圖片

並且我需要進行事務處理以在此表中輸入數據。 如何獲取在firstTable中輸入的ID,並在第二個表中將其設置為外鍵FirstTableId?

BEGIN TRANSACTION
INSERT INTO FirsTable (Name) VALUES ('example1')

INSERT INTO SecondTable (Name, FirstTableId) VALUES ('example2', ?)

COMMIT TRANSACTION

考慮到id是一個identity ,請使用@@IDENTITY作為下一步:

BEGIN TRANSACTION
INSERT INTO FirsTable (Name) VALUES ('example1')

INSERT INTO SecondTable (Name, FirstTableId) VALUES ('example2', @@IDENTITY)

COMMIT TRANSACTION 

有關更多詳細信息

更新: -

對於非身份列,請使用表變量通過使用Output獲取ID,如下所示:-

BEGIN TRANSACTION
DECLARE @id int
DECLARE @table table (id int)

INSERT INTO FirsTable (Name) 
OUTPUT inserted.id into @table
VALUES ('example1')
SELECT @id = id from @table

INSERT INTO SecondTable (Name, FirstTableId) VALUES ('example2',  @id)

COMMIT TRANSACTION

有關更多詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM