oracle存储过程是什么

oracle中,存储过程是为了完成特定功能的SQL语句集,编译后存储在数据库中,用户通过指定存储过程名字并给出参数来执行它;语法格式为“create or replace procedure 存储过程名”。

oracle存储过程是什么

本教程操作环境:windows7系统、oracle 11.2.0.1.0版,DELL G3电脑。

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常(可写可不写,要增强脚本的容错性和调试的方便性那就写上异常处理)

存储过程它的使用主要是完成一项复杂的功能,如果直接使用sql语句则每次都需要进行编译,而存储过程只需要编译一次,以后直接调用即可,它的语法为

create or replace procedure procedure_name as begin    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 类型(值范围); Begin Select 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

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享