INSERT ALL 允許單條語句向多張表插入數據,支持子查詢與條件判斷:
INSERT ALL
INTO t1 (col1, col2) VALUES ('A', 'B')
INTO t2 (col1, col2) SELECT col3, col4 FROM t3 WHERE condition
SELECT * FROM dual; -- Oracle 必須以 SELECT 結尾
CREATE TABLE student (sname VARCHAR2(10), sage NUMBER(3));
CREATE TABLE course (cname VARCHAR2(10), cid NUMBER(3));
INSERT INTO student VALUES ('YES', 14);
COMMIT;
INSERT ALL
INTO student (sname, sage) VALUES ('ABC', 12)
INTO course (cname, cid) SELECT sname, sage FROM student WHERE 2 > 1
SELECT * FROM dual;
COMMIT;
SELECT * FROM student;
SELECT * FROM course;
INTO 子句可獨立使用 VALUES 或 SELECT。SELECT ... FROM dual(或其他表)。WHERE 中實現。