只是想知道是否可以在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');
有什么想法吗?
提前致谢
KS
答案 0 :(得分:11)
尝试使用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;
)
答案 1 :(得分:0)
全部插入 INTO表1 (tid,curr_date,title)值(s_tid,s_date,s_title) INTO表2 (tid,curr_date,sys_user,note)值(s_tid,s_date,s_user,s_note) 选择s_tid,s_date,s_title,s_user,s_note 从 ( 选择 2 s_tid, '01 -FEB-15's_date, 'java's_title, 'Bablu Gope's_user, 'java_note's_note FROM dual);
执行上述查询的过程。 1.将查询复制到扩展名必须为.sql的文件(如test.sql) 2.连接数据库 3.运行此命令 4. @ test.sql