今天爱分享给大家带来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;
原文链接:https://blog.itblood.com/220.html,转载请注明出处。

![罗杰与茱莉亚-邦城之夏v0.05 AI版[PC+安卓/2.22G/更新]Roger & Julia – Summer in BangCity [v0.05] [欧美SLG/汉化/动态]](/wp-content/uploads/replace/2025/10/18/c1873113f7e9d4d5b6b7e490f2d8c513.webp)