在多个pl sql块上使用条件

时间:2018-11-14 16:46:51

标签: oracle plsql

是否可以在多个pl sql块上使用一种条件 而不是在所有块中重复某些条件? 例如这样的东西:

BEGIN  
     select user_id from users  
     if :app_user_id = user_id  
         then do the bottom blocks  
     begin  
     end ;  
     begin  
     end ;  
     begin  
     end ;  
END ;

2 个答案:

答案 0 :(得分:0)

根据我对问题的理解,您需要检查代码中不同点的条件。

您可以将一个条件放在过程/函数中(取决于您的代码),然后执行相同的条件,而不必一次又一次放下这些条件。

如果我的理解是错误的,请纠正我。

答案 1 :(得分:0)

有可能,为什么不呢?

我不知道它有多明智(用同一级别的两个连续执行块来完成什么,而不能在单个块中完成),但这是可能的。例如:

begin
  if 3 > 1 then
    begin
      dbms_output.put_line('First line');
    end;
    begin
      dbms_output.put_line('Second line');
    end;
  end if;
end;
/

输出(显然,SET SERVEROUTPUT ON首先输出,如果尚未打开):

First line
Second line


PL/SQL procedure successfully completed.