• oracle--知识点汇总2---laobai


    --复制表
    create table emp as(select * from scott.emp);
    select * from emp;
    --Demo1创建存储过程,实现将emp表comm为空时,替换成0
    create or replace procedure update_emp_comm as
    begin
    update emp set comm='1' where comm='0';
    dbms_output.put_line('替换成功!');
    commit;
    end;
    --创建有入参及有出参的存储过程
           --修改指定部门的员工工资,+100,将修改的条数作为出参
    create or replace procedure update_emp_sal_by_deptno
    (
    v_deptno number,
    v_sal number,
    v_rowcount out number
    )
    as
    begin
    update emp set sal=sal+v_sal where deptno=v_deptno;
    dbms_output.put_line('修改成功,共修改了'||sql%rowcount||'条记录');
    v_rowcount:=sql%rowcount;
    commit;
    end;
    --创建函数,返回值
      --删除含有指定名称的员工,返回删除的条数
    create or replace function delete_emp_by_empname
    (
    v_name varchar2
    )return number
    as
    v_num number;
    begin
    delete from emp where ename like '%'||v_name||'%';
    v_num:=sql%rowcount;
    commit;
    return v_num;
    end;
    --创建函数,返回指定结果集的游标
     --统计人数超过5个人的部门的最高工资和最低工资
    create or replace function get_max_min_sal_by_group
    return sys_refcursor
    as 
    my_cur sys_refcursor;  --声明1个游标变量,用于返回
    begin
    open my_cur for
    select deptno 部门号,max(sal) 最高工资,min(sal) 最低工资 from emp group by deptno having count(1)>3;
    return my_cur;
    end;
    

      

  • 相关阅读:
    arpspoof局域网断网攻击
    2019-2020 SEERC 2019
    2019-2020 XX Open Cup, Grand Prix of Korea
    欧拉函数板子
    Syncthing – 数据同步利器
    程序员的修养 -- 如何写日志(logging)
    css基础
    vim永久设置主题
    基金选择
    如何查看ntp端口是否正常
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6251021.html
Copyright © 2020-2023  润新知