第十七单元:INSERT 增强

一个来源插入多个目标表(无条件):

insert all
    into sal_history values(empid,hiredate,sal)
    into mgr_history values(empid,mgr,sal)
    select employee_id empid,hire_date hi
    redate,salary sal,manager_id mgr
    from employees;

一个来源插入多个目标表(有条件):

insert all
    into sal_history values(empid,hiredate,sal)
    into mgr_history values(empid,mgr,sal)
    select employee_id empid,hire_date hi
    redate,salary sal,manager_id mgr
    from employees
    where employee_id > 200;

一个来源插入多个目标表(有条件,首次匹配即跳到下一条):

insert first
    when sal > 25000 then 
        into special_sal values(deptid,sal)
    when hiredate like ('%00%') then
        into hiredate_history_00 values(deptid,hiredate)
    when hiredate like ('%99%') then 
        into hiredate_history_99 values(deptid,hiredate)
    else 
        into hiredate_history values(deptid,hiredate)
    select department_id deptid,sum(salary) sal,max(hire_date) hiredate
    from employees
    group by department_id;

列转行(一行变多行,交叉报表的反操作):

insert all 
    into sales_info values (employee_id,week_id,sales_mon)
    into sales_info values (employee_id,week_id,sales_tue)
    into sales_info values (employee_id,week_id,sales_wed)
    into sales_info values (employee_id,week_id,sales_thur)
    into sales_info values (employee_id,week_id,sales_fri)
    select employee_id,week_id,sales_mon,sales_tue,sales_wed,sales_thur,sales_fri
    from sales_source_data;

sales_source_data表
这里写图片描述
插入数据后的sales_info 表
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值