Oracle INSERT into two tables in one query

前端 未结 2 1311
醉话见心
醉话见心 2020-12-28 23:45

Just wondering if it is possible to run an INSERT into two tables in a single query for Oracle 11g?

I know you can do a INSERT ALL ... SELECT query, but I need to do

相关标签:
2条回答
  • 2020-12-29 00:19

    Try to use from dual;, like this:

    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;
    )
    
    0 讨论(0)
  • 2020-12-29 00:26
    INSERT ALL
    INTO table1
      (tid, curr_date, title) values (s_tid, s_date, s_title)
    INTO table2
      (tid, curr_date, sys_user, note) values (s_tid, s_date, s_user, s_note)
    SELECT s_tid, s_date, s_title, s_user, s_note
    FROM
    ( 
        SELECT 
            2 s_tid,
            '01-FEB-15' s_date,
            'java' s_title,
            'Bablu Gope' s_user,
            'java_note' s_note
        FROM dual);
    

    process to execute the above query.

    1. copy the query into a file whose extension must be .sql like test.sql
    2. connect to database
    3. run this command
    4. @test.sql
    0 讨论(0)
提交回复
热议问题