首页>文档>技术文档>Oracle存储过程是什么?怎样创建存储过程?

此组别内的文章

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

Oracle存储过程是什么?怎样创建存储过程?

这篇文章主要简单的介绍一下Oracle存储过程,对新手学习和理解Oracle存储过程是什么及怎样创建存储过程都有一定的帮助,感兴趣的朋友可以了解看看,希望大家阅读完这篇文章能有所收获,接下来跟随小编一起来学习一下吧。

Oracle存储过程是什么?怎样创建存储过程?插图

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

    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+异常名

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
搜索