是否必须在PL/SQL中为OUT参数赋值?

pop*_*ack 1 oracle plsql out-parameters

create or replace procedure ppp(ot OUT number)
is
begin
null;
end;
/
Run Code Online (Sandbox Code Playgroud)

这在被调用时工作正常.

vc *_* 74 6

从关于输出参数的Oracle文档:

形式参数的行为类似于未初始化的变量.

所以如果你没有指定一个值就没问题.

DECLARE
  d  NUMBER;
BEGIN
  ppp( d );

  IF ( d IS NULL )
  THEN
    DBMS_OUTPUT.put_line( 'NULL' );
  END IF;
END;
Run Code Online (Sandbox Code Playgroud)

将NULL写入dbms输出