如何根据if语句添加条件

时间:2016-06-06 13:05:03

标签: sql oracle plsql oracle-sqldeveloper

我正在编写这个存储过程,我想基于IF语句添加第三​​个AND条件,我在IF语句中有错误。这是在Oracle中执行此操作的正确语法吗?感谢

FROM U_DEBT D,
U_DOCUMENT_DEBT UDD,

where D.DEBT_TYPE='I' AND UDD.DEBT_NUM=D.DEBT_NUM
AND UDD.FS_STATEMENT_NUM=UUI.FS_STATEMENT_NUM

if P5_LAST_NAME is not null then
AND  D.FORMATTED_LAST_NAME IN (SELECT local.pkg_bs_common.web_format(P5_LAST_NAME) FROM DUAL);
end if;

1 个答案:

答案 0 :(得分:2)

你可以这样做:

WHERE D.DEBT_TYPE='I' AND 
      UDD.DEBT_NUM=D.DEBT_NUM AND 
      UDD.FS_STATEMENT_NUM=UUI.FS_STATEMENT_NUM AND 
      (P5_LAST_NAME IS NULL OR 
       D.FORMATTED_LAST_NAME IN (SELECT local.pkg_bs_common.web_format(P5_LAST_NAME) 
                                 FROM DUAL)