2011-11-01 30 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