因为oracle函数必须要return。而触发器可以通过out来作为返回值。这是函数和存储过程的最重要的区别。看下他们的定义就明白了 1:存储过程的基本格式 create [or replace] procedure procedure_name [ (argment [ { in| in out }] type, argment [ { in | out | in out } ] type { is | as } <类型.变量的说明> ( 注: 不用 declare 语句 ) Begin <执行部分> exception <可选的异常处理说明> end; 1:函数的基本格式 CREATE OR REPLACE FUNCTION 函数名 RETURN 返回值类型 IS 声明部分; BEGIN 函数体; RETURN 变量; END
1:存储过程的基本格式
create [or replace] procedure procedure_name
[ (argment [ { in| in out }] type,
argment [ { in | out | in out } ] type
{ is | as }
<类型.变量的说明>
( 注: 不用 declare 语句 )
Begin
<执行部分>
exception
<可选的异常处理说明>
end;
1:函数的基本格式
CREATE OR REPLACE FUNCTION 函数名
RETURN 返回值类型
IS
声明部分;
BEGIN
函数体;
RETURN 变量;
END