Oracle INSERT在一个查询中分成两个表

KS1*_*KS1 3 sql oracle

只是想知道是否可以在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');
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

提前致谢

KS

tja*_*ati 16

尝试使用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;
)
Run Code Online (Sandbox Code Playgroud)