小编典典

Oracle一次查询将INSERT插入两个表

sql

只是想知道是否可以在单个查询中为Oracle 11g对两个表运行INSERT?

我知道您可以执行INSERT ALL … SELECT查询,但是我需要在没有SELECT的情况下执行此操作,因为这是数据直接从XLS传入数据库。

理想情况下,我想要类似以下示例的内容:

INSERT INTO table1 t1, table2 t2 
(t1.tid, t1.date, t1.title, t2.tid, t2.date, t2.user, t2.note)
VALUES (1,'01-JAN-15','title',1,'01-JAN-15','john','test note');

有任何想法吗?


阅读 153

收藏
2021-03-17

共1个答案

小编典典

尝试使用from dual;,如下所示:

INSERT ALL
INTO table1
  (tid, date, title) values (s_tid, s_date, s_title)
INTO table2
  (tid, date, user, note) values (s_tid, s_date, s_user, s_note)
SELECT s_tid, s_date, s_title, s_user, s_note
FROM
( 
    SELECT 
        1 s_tid,
        '01-JAN-15' s_date,
        'title' s_title,
        'john' s_user,
        'test note' s_note
    FROM dual;
)
2021-03-17