今天爱分享给大家带来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;