2015-02-10 40 views
1

我在我的數據庫中有2個數據表。一個數據庫被命名爲Employee_Data。 Employee_Data有3列,如id,name,contact。第二個數據表名稱是Employee_Achievements,它有另外3列,如Achievement_Name,Marks,Grade。如何同時向兩個表中插入數據(SQL管理工作室2008)

我想在一個SQL語句中將數據插入到這兩個數據表中。哪種方法最好?請提供SQL查詢的例子

謝謝

+1

就我所知,這在標準SQL中是不可能的,儘管有供應商特定的方式。在事務或存儲過程中使用兩條語句很容易。爲什麼你需要在一個單一的聲明? – RBarryYoung 2015-02-10 16:15:49

+0

@Nilaksha Perera嘗試交易。 – 2015-02-10 16:29:49

回答

5

像巴里說,創建一個交易是唯一的辦法。 SQL引擎負責處理事務中數據的耦合。

BEGIN TRANSACTION 
INSERT INTO Employee_Data (Name, Contact) 
VALUES ('X', 'Y') 
DECLARE @id as int = SCOPE_IDENTITY() 
INSERT INTO Employee_Achievements (EmployeeId, Achievement_Name , Marks , Grade) 
VALUES ((@id, 'A1', 'M1', 'G1'), (@id, 'A2', 'M2', 'G2')) 
COMMIT TRANSACTION 
相關問題