10.1.3 存储过程的语法

存储过程的创建和视图相比稍微复杂,但也有它固有的模式,所以读者很快能够上手。但想运用自如平时还需要多加练习。下面介绍一下存储过程的主要语法:


CREATE[OR REPLACE]PROCEDURE[schema.]procedure_name

[parameter_name[[IN]datatype[{:=|DEFAULT}expression]

|{OUT|IN OUT}[NOCOPY]datatype

][,…]

{IS|AS}

BODY;


其中各项参数介绍如下:

❑OR REPLACE:表示如果指定的过程已经存在,则覆盖同名的存储过程。

❑schema:表示该存储过程的所属机构。

❑procedure_name:创建存储过程的名称。

❑parameter_name:表示存储过程中的参数名称。

❑[IN]datatype[{:=|DEFAULT}expression]:整个这段语法表示传入参数的数据类型以及默认值。其中,datatype项表示参数的数据类型,[{:=|DEFAULT}expression]项表示参数的默认值的写法。

❑{OUT|IN OUT}[NOCOPY]datatype:表示存储过程的参数类型,不过和上面介绍的IN有所区别。其中,OUT表示输出参数,IN OUT表示既可输入也可输出的参数,datatype依旧表示参数类型。

❑{IS|AS}:连接词。

❑BODY:表示函数体,是存储过程的具体操作部分,通常在begin…end中。

注意 存储过程的参数默认类型是IN型的,也就是说是传入型的。当前模式下创建存储过程需要有CREATE PROCEDURE权限。