首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Oracle INSERT ALL 多表插入實戰示例

     編輯:程式設計疑難解答

語法結構

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 中實現。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved