insert into select from 大量数据_【PL/SQL】Insert 单条多条插入语句

看完这章你会学习到以下内容:

  1. 一般Insert语句使用
  2. 多表Insert (无条件)语句使用
  3. 多表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;

23b771615a90a1256216329806a15a0a.png

有条件的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;
    

532a93a46c0956549f13135754877721.png

素材资料: Oracle insert all用法简介

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值