Oracle 如何使用一个sql向两个表插入数据?

Oracle 如何使用一个sql向两个表插入数据?,oracle,Oracle,我有两个表,它们由一个字段连接:表A的B_ID和表B的ID 我想使用sql向这两个表插入数据 如何编写插入sql 1,表B中的id是自动递增的 2,用一种愚蠢的方式,我可以先将数据插入表B,然后从表B中选择id,然后将id作为消息\u id添加到表a中 不能在一条SQL语句中向多个表插入数据。只需先将数据插入B表,然后再插入A表。您可以使用RETURNING语句获取ID值,并在插入之间去掉额外的select语句 请参阅:您听说过触发器吗?我想这就是你要找的 这样的事情可能会满足您的要求: CR

我有两个表,它们由一个字段连接:表A的B_ID和表B的ID

我想使用sql向这两个表插入数据

如何编写插入sql

1,表B中的id是自动递增的

2,用一种愚蠢的方式,我可以先将数据插入表B,然后从表B中选择id,然后将id作为消息\u id添加到表a中


不能在一条SQL语句中向多个表插入数据。只需先将数据插入B表,然后再插入A表。您可以使用RETURNING语句获取ID值,并在插入之间去掉额外的select语句

请参阅:

您听说过触发器吗?我想这就是你要找的

这样的事情可能会满足您的要求:

CREATE OR REPLACE TRIGGER TableB_after_insert
AFTER INSERT
   ON TableB
   FOR EACH ROW

DECLARE
   v_id int;

BEGIN
   /*
    * 1. Select your id from TableB
    * 2. Insert data to TableA
    */
END;

/

这不是一个愚蠢的方法-这是你如何做到的-你需要先生成id,然后才能将其放入另一个表中,唯一的方法是插入记录。你也可以使用触发器,特别是插入后的
-请参阅我的答案以了解详细信息,但我如何编写1的sql。从表B中选择您的id?