Oracle DB - 如何在AND运算符中设置IF语句?

我想在执行AND运算符之前设置IF声明。Oracle DB - 如何在AND运算符中设置IF语句?

例如:

PROCEDURE STORE_SIGNLOOP_APPROVER 

(

userID in varchar2

isManager in varchar2

result out ref_cursor

)

AS

BEGIN

SELECT user_role

FROM users

WHERE user_id = userID

AND **IF isManager = 'true'** user_id IN (SELECT user id from managers)

END;

回答:

你可以使用:

select user_role 

fron users

where user_id = userID

AND (((user_id in (select user_id from managers) AND isManager = 'true'))

OR isManager = 'false'

);

注:不是传递 '真/假' 作为字符串文字,你可以使用 '0/1' 的值。

以上是 Oracle DB - 如何在AND运算符中设置IF语句? 的全部内容, 来源链接: utcz.com/qa/260066.html

回到顶部