【发布时间】:2018-05-16 22:24:56
【问题描述】:
我想在执行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;
【问题讨论】:
-
为什么要预先计算“ismanager”?你可以在你的过程中检查它。如果用户也在经理表内,则它是经理。为什么你使用 varchar 作为真/假值?
-
嗨,这是解释我的目的的唯一简单示例。你说得对,它不是很好;)
-
对于这个“示例”,我只需将经理加入到用户中 - 完成。如果用户不是经理,则没有结果。不知道为什么还要使用过程。:stackoverflow.com/a/25419698/7505395