一条指令分条件向多个表插入数据

一条指令分条件向多个表插入数据的方法
1 以EMP表作为实验,要求:
 部门10的记录插入 E1表,
 部门20的记录插入 E2表,
 部门30的记录插入 E3表,
 部门40的记录插入 E4表,
其中E1、E2、E3、E4表结构与EMP表部分或者全部相同
语句:
--表结构相同时
INSERT ALL
WHEN DEPTNO=10 THEN INTO E1
WHEN DEPTNO=20 THEN INTO E2
WHEN DEPTNO=30 THEN INTO E3
ELSE INTO E4
SELECT * FROM EMP;
--表结构不同时
CREATE TABLE E2 AS SELECT EMPNO FROM EMP WHERE 1=2;
CREATE TABLE E3 AS SELECT HIREDATE FROM EMP WHERE 1=2;
CREATE TABLE E4 AS SELECT SAL FROM EMP WHERE 1=2;
CREATE TABLE E5 AS SELECT COMM FROM EMP WHERE 1=2;
CREATE TABLE E6 AS SELECT MGR,JOB FROM EMP WHERE 1=2;
INSERT ALL
WHEN DEPTNO=10 THEN INTO E2(EMPNO)VALUES(EMPNO)
WHEN DEPTNO=20 THEN INTO E3(HIREDATE)VALUES(HIREDATE)
WHEN DEPTNO=30 THEN INTO E4(SAL)VALUES(SAL)
WHEN DEPTNO=40 THEN INTO E5(COMM)VALUES(COMM)
  ELSE INTO E6(MGR,JOB)VALUES(MGR,JOB)
  SELECT * FROM EMP;
注意:INSERT ALL 和INSERT FIRST的区别
--------------灵活运用
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值