2011-11-01 38 views
0

我正在編寫批處理加載SQL腳本的過程中,我想將生成的主鍵的插入語句存儲到一個臨時變量,並用它來引用外鍵其他表格。有任何想法嗎?存儲生成的主鍵在臨時變量db2

我做了以下內容:

Y = INSERT INTO X(.....) 

INSERT INTO Z(...,Y,); 
+0

您正在使用什麼數據庫? –

+0

什麼是您使用的實際SQL?你有錯誤嗎? – Justin808

+0

你沒有一個獨特的自然鑰匙(獨特的鑰匙是不是'ID'自動生成ID)?另外,除非逐行處理,否則只能在某種時間(假設您的DB2版本支持聲明變量)存儲一個(或一些有限數量)的id - 這可能會很慢。除此之外...尋找_data-change-table-reference_,可能是'NEW TABLE(INSERT ....)'子句。 –

回答

-1

我知道在SQL Server中,你可以這樣做:

INSERT INTO MyTable .... 
SELECT @Foo = @@IDENTITY 

INSERT INTO SomeOtherTable(... fk_col ...) VALUES (... @foo ...) 
+0

我正在使用db2數據庫。 – user1022900