PLSQL编程-存储过程【详细讲解】

今天爱分享给大家带来PLSQL编程-存储过程【详细讲解】,希望能够帮助到各位。

一、含义

存储过程实际上是封装在服务器上一段PLSQL代码片断,它已经编译好了,如果客户端调用存储过程,执行效率就会非常高效

二、语法

1、创建存储过程

create procedure 存储过程名称(参数名 in|out 参数类型,参数名 in|out 参数类型,...)
is|as
 --声明部分
begin
 --业务逻辑 
end;

2、修改存储过程

create [or replace] procedure 存储过程名称(参数名 in|out 参数类型,参数名 in|out 参数类型,...)
is|as
 --声明部分
begin
 --业务逻辑 
end;

3、删除存储过程

drop procedure 存储过程名称;

4、调用存储过程

--方式一:
call 存储过程名称(...);

--方式二:
declare

begin
  存储过程名称(...);
end;

三、演示

1、创建存储过程

--给指定员工涨薪并打印涨薪前和涨薪后的工资
create procedure proc_update_sal(vempno in number,vnum in number)
is
  --声明变量
  vsal number;
begin
  --查询当前的工资
  select sal into vsal from emp where empno = vempno;
  --输出涨薪前的工资
  dbms_output.put_line('涨薪前:' || vsal);
  --更新工资
  update emp set sal = vsal + vnum where empno = vempno;
  --输出涨薪后的工资
  dbms_output.put_line('涨薪后:' || (vsal + vnum));
  --提交事物
  commit;
end;

--给员工编号为7521的员工涨工资10元
call proc_update_sal(7521, 10);

2、修改存储过程

--给指定员工涨薪并打印涨薪前和涨薪后的工资
create or replace procedure proc_update_sal(vempno in number,vnum in number)
is
  --声明变量
  vsal number;
begin
  --查询当前的工资
  select sal into vsal from emp where empno = vempno;
  --输出涨薪前的工资
  dbms_output.put_line('涨薪前:' || vsal);
  --更新工资
  update emp set sal = vsal + vnum where empno = vempno;
  --输出涨薪后的工资
  dbms_output.put_line('涨薪后:' || (vsal + vnum));
  --提交事物
  commit;
end;

--给员工编号为7521的员工涨工资10元
call proc_update_sal(7521, 10);

3、删除存储过程

drop procedure proc_update_sal;

人已赞赏
数据库

PLSQL编程-游标【详细讲解】

2020-10-11 15:02:04

数据库

PLSQL编程-函数【详细讲解】

2020-10-12 15:40:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧