我有一個Access前端將查詢推送到SQL Server Express 2012後端。我在兩個表之間有一對一的關係,並且需要向每個表中插入一條記錄(使用未綁定的表單)。在訪問中,我可以使用這兩個表創建一個視圖,並且記錄將在第一個PK的下一個將用作FK的位置自動創建。 SQL是不同的。我試圖使用OUTPUT參數,但不理解語法。這是我的:創建INSERT-OUTPUT-INSERT查詢
INSERT into tblInsp (clmInsDate, clmDistrictNumber, clmBandColor)
VALUES ('1-1-15',4,6)
OUTPUT INSERTED.InspectionKEY AS myVar ;somehow get the value
INTO xtblInspRef (clmInsp, clmRefNumber, clmInspType)
VALUES (myVar,231,3) ;use the identity as foreign key
我是新來的SQL,但在飛行中學習。下面是關係的圖像: Diagram
是'tblInsp.InspectionKEY'列中的'INT IDENTITY(N, n)'列?如果是這樣,你可以使用系統函數'@@ IDENTITY'。請參閱[鏈接](https://msdn.microsoft.com/en-GB/library/ms187342.aspx) – BeaglesEnd
請勿使用@@ IDENTITY。如果你有一個插入的觸發器,你會得到那個值,而不是你想要的值。你應該改用SCOPE_IDENTITY。 –
當然,因爲這是單行插入,所以你可以直接使用INSERTED.InspectionKey https://msdn.microsoft.com/en-us/library/ms177564.aspx –