1.存储过程的定义
存储过程(Stored Procedure )是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中。
用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。
2.存储过程的使用
(1)语法结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) AS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
(2)使用举例
根据学号更新学生学分。
create or replace procedure updateSval(stu_no in number ,stu_val in number)
as
oldSval number;
newSval number;
begin
select sval into oldSval from t_student where sno = stu_no;
dbms_output.put_line(‘更新前值为:’ || oldSval);
update t_student set sval = sval + stu_val where sno = stu_no;
commit; -- 命令提交
select sval into newSval from t_student where sno = stu_no;
dbms_output.put_line('更新前值为:' || newSval);
end;