Я пытаюсь отобразить определенные данные, основанные на структуре пользователя сеанса (столбец STRUCT в таблице ниже
)
, поэтому я создал глобальныйэлемент (: P0_STRUCT), который получает значение структуры пользователя сеанса при входе в систему, а затем я написал эту функцию PL / SQL в исходном коде для классического отчета
declare
v_query VARCHAR2(500);
BEGIN
IF :P0_STRUCT is not null
THEN
v_query := 'select ID_CR,
NUM,
DATE_AR,
EXPEDITEUR,
NOM_EXPEDITEUR,
REFERENCE,
OBJET,
E'||:P0_STRUCT||',
I'||:P0_STRUCT||',
C'||:P0_STRUCT||',
INSTRUCTION,
DATE_INSTRUCTION,
COPIES,
OBSERVATION,
NECESSITE_REP,
REF_REPONSE
from COURRIER_ARRIVE
where E'||:P0_STRUCT||'= ''A Exécuter'' OR I'||:P0_STRUCT|| '= ''P/Information'' OR C'||:P0_STRUCT||' = ''P/Circulation'' ';
else v_query := 'select * from COURRIER_ARRIVE where ECIF = ''a'' ';
END IF;
return v_query ;
END;
проблема в том, что всетри части условия должны быть истинными, чтобы функция возвращала данные в отчете, даже если бы я использовала ИЛИ не AND.Я хочу получить данные, если только одна или все части условия выполняются.Пожалуйста, как это можно решить?