Когда p_type имеет значение null, тогда я должен предоставить два значения, т. Е. ('Value1', 'value2').Как я могу добиться этого, используя оператор Case или Decode в предложении where?Ниже блок PL / SQL недопустим и выдает ошибку пропущенного ключевого слова: оператор игнорируется.
Declare
l_xml CLOB;
p_type varchar2(200) := 'value1'; -- can be null
begin
SELECT XMLAGG (
XMLELEMENT ("Address",
(XMLFOREST (usg.code as "CODE",
usg.date as "Date"
)))) .getclobval()
into l_xml
FROM usg
WHERE usg.number = '12345'
AND usg.code = p_type
OR CASE WHEN p_type IS NULL THEN usg.code in ('value1','value2') END;
dbms_output.put_line (l_xml);
end;