首页 > 解决方案 > IF 语句使用过程参数?

问题描述

我想知道在技术上是否可以在 IF 语句中使用过程参数,或者如何以不同的方式解决这个问题。

情况描述:我在其他过程中有一个过程,其中内部过程的参数是外部过程的参数。我想在 IF 语句的主体中使用内部过程的参数,例如:IF parameter1 OR parameter2 OR parameter3 IS NOT NULL THEN。. 值得一提的是,外部过程的所有参数都必须为 DEFAULT NULL。有任何想法吗?干杯。

标签: sqloracleprocedure

解决方案


你想这样做吗:

--first procedure

CREATE OR REPLACE PROCEDURE p1(f_name varchar2 ,sal NUMBER )
IS 
BEGIN 

p2(f_name,sal);

END;

--second procedure

CREATE OR replace PROCEDURE p2(f_name varchar2 ,sal NUMBER )
IS 
BEGIN 

IF f_name IS NOT NULL OR sal IS NOT NULL
THEN 
dbms_output.put_line(f_name ||'   '||sal);
END IF;

END;

然后调用第一个过程:

BEGIN 
    p1( 'john',null );
END; 

推荐阅读