Я бы, вероятно, сделал что-то вроде
i_includeLines NUMBER(1)
b_includeLines boolean;
BEGIN
i_includeLines:=0;
b_includeLines := (case i_includeLines when 1 then true else false end);
X_THING_TO_TEST(includeLinesBool=>b_includeLines);
или
b_includeLines boolean;
i_includeLines integer;
BEGIN
b_includeLines:= false;
X_THING_TO_TEST(includeLinesBool=>b_includeLines);
/*...analyze output...*/
i_includeLines := case when b_includeLines = true then 1 else 0 end;
INSERT INTO UNIT_TEST_RESULTS(case,includeLines,result)
VALUES ('test',i_includeLines,'fail');
COMMIT;
Очевидно, что любое из этих операторов case
может (и должно) быть инкапсулировано в функцию, предполагая, что выя буду звонить им регулярно.
Я бы посоветовал вам не использовать зарезервированное слово case
для имени столбца - это в какой-то момент укусит вас. Я также не фанат венгерской нотации для имен переменных, но это скорее религиозные дебаты ...