【发布时间】:2018-02-06 05:37:29
【问题描述】:
我使用的是 Oracle Database 12c 企业版
我想使用 JDBC 将记录插入到 2 个表中,例如 TABLE1 和 TABLE2。这两个表具有基于公共列的主键和外键关系,例如 ID_COLUMN
我计划使用以下单个查询并通过我的 Java 应用程序通过 JDBC 触发它:
insert all
into TABLE1 (ID_COLUMN,COL2,COL3,COL4,COL5,COL6) values(?,?,?,?,?,?)
into TABLE2 (COL1_1,COL_1_2,COL_1_3,ID_COLUMN) values('blah',42,'rubbish',
select test_ctrl.seq_test_id.nextval FROM dual)
select * from dual;
我的基本要求是我需要在当前会话中使用来自 TABLE1 的最新 ID_COLUMN 插入 TABLE2。
我知道在 INSERT ALL 语句中使用select test_ctrl.seq_test_id.nextval FROM dual 是不正确的。但它是 Oracle 我不能使用 SCOPE_IDENTITY()
请建议我怎样才能使这个查询工作
【问题讨论】:
-
...因为您在 oracle(和裸 jdbc)上,PL/SQL 可以(轻松)包装它(全部插入)并存储 id(在变量中)......