• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

sql 来源:Ran Alcobi 4次浏览

我想在执行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’ 的值。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)