Oracle——存储过程、函数
存储过程和函数
存储过程和函数在Oracle中被称为子程序,是指被命名的PL/SQL块,这种块可以带有参数,可以被多次调用。
存储过程用于执行特定操作,而函数则用于返回特定的数据。
存储过程是存储在数据库中的有名字的PL/SQL程序块,接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT); 函数也是命名了的、存储在数据库中的PL/SQL程序块。函数接受零个或多个输入参数,必须有一个返回值,返回值的数据类型在创建函数时定义。
1. 存储过程(用于执行特定操作)
创建存储过程语法格式:
create [or replace] procedure 存储过程名 (
参数1 输入或者输出 参数类型,
参数2 输入或者输出 参数类型, ...
)
is (或 as )
begin
PL/SQL块
end;
·is或者as用于开始一个PL/SQL块。需要注意的是:当指定参数数据类型的时候,不能指定其长度。
·create or replace可以同时存在,如果存储过程已经存在则替代存储过程,如果不存在则创建。
删除存储过程:drop procedure 存储过程名;
1.1 不带参数的存储过程
1.2 带输入参数的存储过程
1.3 带输出参数的存储过程
对于带有输出参数的存储过程,在调用的时候,必须要定义变量接收输出参数的数据。
1.4 所带的参数既输入又输出
2. 函数(用于返回特定的数据)
创建函数语法格式:
create [or replace] function 函数名 (
参数1 [参数类型] 数据类型,
参数2 [参数类型] 数据类型, …
)
return 数据类型
is (或 as )
PL/SQL块
·指定参数数据类型的时候,不能指定其长度,return子句用于指定函数返回值的数据类型。
·is或者as用于开始一个PL/SQL块。参数类型有in表示输入参数,默认为in,out表示输出参数,还可以是输入输出参数in out。
删除函数:drop function 函数名;