数据库基础介绍(2-2)Oracle数据库储过程

一、存储过程创建语法

create or replace procedure 存储过程名(param1 in type,param2 out type) 
as 
    变量1 类型(值范围); --vs_msg   VARCHAR2(4000); 
    变量2 类型(值范围);
Begin
    过程体;
    Exception
        When others then
            Rollback;
End;


注意事项:

1, 存储过程参数不带取值范围,in表示传入,out表示输出,in out即可作输入,又可作输出。

        如果存储过程的参数没有指定存参数传递类型,默认为IN。

2,自定义变量类型可以使用任意Oracle中的合法类型,带取值范围,后面接分号。

3, 过程语句块:从begin 关键字开始为过程的语句块。存储过程的具体逻辑在这里来实现。

       异常处理块:关键字为exception ,为处理语句产生的异常。该部分为可选 。

       结束块:由end关键字结果。

 

二、存储过程的参数传递方式

1,IN 按值传递,并且它不允许在存储过程中被重新赋值。

2,当一个参数被指定为OUT类型时,就算在调用存储过程之前对该参数进行了赋值,在存储过程中该参数的值仍然是null.   

     OUT类型可以理解为按引用传递方式。可以作为存储过程的输出结果,供外部调用者使用。

 

三、存储过程具体逻辑的实现:

1,  在判断语句前最好先用count(*)函数判断是否存在该条操作记录

2,  用select 。。。into。。。给变量赋值

3,  在代码中抛异常用 raise+异常名

你可能感兴趣的:(数据库基础介绍(2-2)Oracle数据库储过程)