您好,欢迎访问一九零五行业门户网

oracle存储过程是什么

在oracle中,存储过程是为了完成特定功能的sql语句集,编译后存储在数据库中,用户通过指定存储过程名字并给出参数来执行它;语法格式为“create or replace procedure 存储过程名”。
本教程操作环境:windows7系统、oracle 11.2.0.1.0版,dell g3电脑。
oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理)
存储过程它的使用主要是完成一项复杂的功能,如果直接使用sql语句则每次都需要进行编译,而存储过程只需要编译一次,以后直接调用即可,它的语法为
create or replace procedure procedure_nameasbegin extention;end;/
行1:
create or replace procedure 是一个sql语句通知oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
行2:
is关键词表明后面将跟随一个pl/sql体。
行3:
begin关键词表明pl/sql体的开始。
行4:
null pl/sql语句表明什么事都不做,这句不能删去,因为pl/sql体中至少需要有一句;
行5:
end关键词表明pl/sql体的结束
存储过程创建语法:
create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); --vs_msg varchar2(4000); 变量2 类型(值范围);beginselect count(*) into 变量1 from 表a where列名=param1; if (判断条件) then select 列名 into 变量2 from 表a where列名=param1; dbms_output。put_line(‘打印信息’); elsif (判断条件) then dbms_output。put_line(‘打印信息’); else raise 异常名(no_data_found); end if;exception when others then rollback;end;
注意事项:
1, 存储过程参数不带取值范围,in表示传入,out表示输出
类型可以使用任意oracle中的合法类型。
2,  变量带取值范围,后面接分号
3,  在判断语句前最好先用count(*)函数判断是否存在该条操作记录
4,  用select 。。。into。。。给变量赋值
5,  在代码中抛异常用 raise+异常名
推荐(免费):oracle
以上就是oracle存储过程是什么的详细内容。
其它类似信息

推荐信息