#oracle #oracle11g #oraclereports
#Oracle #oracle11g #oraclereports
Вопрос:
Привет, дорогой, я хочу посчитать CL из строк, сколько CL и умножить его на это 827 то, что я пробовал, это его ошибка генерации, что будет правильным, пожалуйста
function CF_CLFormula return Number is
A NUMBER;
begin
IF :DAY_COUNT = 'CL'
THEN
A := COUNT(:DAY_COUNT)*827;
RETURN A;
END IF;
end;
это дает мне ошибку, функция подсчета используется только в select, да, это так, но что я могу использовать для этого и получить свой ответ
Комментарии:
1. Отдельно от раствора ;
RETURN A;
следует принимать послеIF
..END IF
блок. Так как if:DAY_COUNT
не совпадает'CL'
, то возникнет ошибка.
Ответ №1:
Так это не сработает. Вероятно, вам придется фактически подсчитывать строки из таблицы в отдельном SELECT
операторе. Что — то вроде этого:
function CF_CLFormula return Number is
A NUMBER;
begin
IF :DAY_COUNT = 'CL'
THEN
select count(*) * 827 --> this
into a
from some_table
where day_count = 'CL';
RETURN A;
END IF;
end;