首页 > 数据库技术 > 详细

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

时间:2017-01-05 08:53:42      阅读:208      评论:0      收藏:0      [点我收藏+]
--复制表
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;

  

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

原文:http://www.cnblogs.com/ipetergo/p/6251021.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!