如何在同一事务中为后续插入使用新 ID

How to use new ID for subsequent inserts in same transaction

使用 Oracle,我们有 2 个 tables - Parent 和 Child。

我们在 Parent table 中将 ID 列作为 GUID,并且该值在插入之前由触发器创建。

现在在同一个事务中插入记录时,我需要 - 先在Parenttable中添加一条记录,然后 - 使用在触发器中创建的新 GUID 将记录添加到子 table

如何为后续插入检索这个新的 GUID?

您可以使用 insert 语句的 returning into 子句

INSERT INTO parent VALUES (col1, ...)
  RETURNING <your id column > INTO < variable>;

insert into child (parent_id) values (< variable>);