我正在编写这个存储过程,我想基于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;
答案 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)