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;

  

转载于:https://www.cnblogs.com/ipetergo/p/6251021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值