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权限。