为什么说函数不能返回多个值,过程可以返回多个值?
函数也可以定义多个OUT类型的变量,为什么说不可以返回多个值。
------解决方案--------------------不能返回多个值是指函数本身,OUT是通过参数的方式传出值,这点用PROCEDURE也可以实现,function与procedure的最大区别在于function 本身可以返回值
------解决方案--------------------因为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