共计 1120 个字符,预计需要花费 3 分钟才能阅读完成。
看完这章你会学习到以下内容:
- 一般 Insert 语句使用
- 多表 Insert(无条件)语句使用
- 多表 Insert(有条件)语句使用
一般语法使用:
insert into【User.table】[@db_link](column1, column2, column3, … …)
Values(express1, express2, … ..)
更经常用法:
无条件的 Insert all 本语句指无条件插入所有数据。
-- 创建两张空表
CREATE TABLE EMP_NEWSALHISTORY AS SELECT * FROM EMP WHERE 1= 2;
CREATE TABLE EMP_NEWMGRHISTORY AS SELECT * FROM EMP WHERE 1= 2;
INSERT ALL
INTO EMP_NEWSALHISTORY(EMPNO,HIREDATE,SAL) VALUES(EMPNO,HIREDATE,SAL) -- 插入的字段和 Values 的字段 最好一一对应
INTO EMP_NEWMGRHISTORY(EMPNO,HIREDATE,MGR) VALUES(EMPNO,HIREDATE,MGR) -- 插入的字段和 Values 的字段 最好一一对应
SELECT * FROM EMP WHERE SAL> 1500; -- 在源表上可以进行条件筛选再插入数据据
COMMIT; 记得提交
SELECT * FROM EMP_NEWSALHISTORY;
SELECT * FROM EMP_NEWMGRHISTORY;
有条件的 Insert all 本语句指有条件插入所有数据。
在 all 后面添加 When… Then 再接上 Into 语句。
-- 创建两张空表
CREATE TABLE EMP_NEWSALESMAN AS SELECT * FROM EMP WHERE 1= 2;
CREATE TABLE EMP_NEWCLERK AS SELECT * FROM EMP WHERE 1= 2;
-- 有条件判断 则加上 WHEN ... THEN ...
INSERT ALL
WHEN JOB = 'SALESMAN' THEN
INTO EMP_NEWSALESMAN VALUES(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) -- 字段可以随意写,或多或少
WHEN JOB = 'CLERK' THEN
INTO EMP_NEWCLERK VALUES(EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) -- 字段可以随意写,或多或少
SELECT * FROM EMP;
Commit; 记得提交
SELECT * FROM EMP_NEWSALESMAN;
SELECT * FROM EMP_NEWCLERK;
素材资料 :Oracle insert all 用法简介
正文完