2013-12-21 91 views
0

我在PL/SQL,其中有兩個SQL語句在函數內部聲明中,有如下幾點:如果一個SQL查詢

select access_level into v_access from users where user_ID = APEX_UTIL.get_username(APEX_UTIL.get_current_user_id); 

for row in (select distinct sub_category_lu 
        , f_get_display('SUB_CATEGORY', sub_category_lu) display 
       from files 
       where active = 'Y' 
       and publish_date <= sysdate 
       and category_lu = p_category 
     and key in (0, snl_key) 
     order by substr(sub_category_lu,1,2) 
    ) loop 

現在基於輸出從第一個sql語句中,我想在for循環中的第二個sql語句中添加另一個'and'條件。

一樣,如果v_access是「某某」,那麼我想在for循環的SQL語句添加一個條件爲

AND sub_category_lu NOT LIKE '03%' AND sub_category_lu NOT LIKE '04%' 

否則不要添加此條件,並保持環的上述。如何在循環中根據此添加if語句。 在此先感謝。

回答

0

簡單地只增加:

(...) AND (v_access != 'xyz' 
      OR (sub_category_lu NOT LIKE '03%' AND sub_category_lu NOT LIKE '04%')) 
+0

感謝喬普,幫助我... :) – xyz9999