Я использую оракул 11g, и я просто не могу понять, где моя проблема.Я сделал намного более сложные вещи, но я провалился в этой простой вещи за последние 5 часов:
Это тело функции
FUNCTION legal_user(
level_existance number
,types_with_impel number)
RETURN BOOLEAN
IS
v_ret_val BOOLEAN;
BEGIN
v_ret_val := FALSE;
IF (level_existance*types_with_impel>0) then
v_ret_val := TRUE;
DBMS_OUTPUT.PUT_LINE('true');
else
DBMS_OUTPUT.PUT_LINE('false');
END IF;
return v_ret_val;
END legal_user;
Это спецификация:
FUNCTION legal_user(
level_existance number
,types_with_impel number)
RETURN BOOLEAN;
, который выполняет логическое И эквивалентно
A*B>0?true:false;
Полученное сообщение об ошибке:
ORA-06552: PL / SQL: оператор игнорируется ORA-06553: PLS-382:выражение имеет неправильный тип 06552. 00000 - «PL / SQL:% s» * Причина:
* Действие: Ошибка в строке: 1 Столбец: 7
Вот как я запускаю его вмой IDE
SELECT compt_tree_profile_q.legal_user(1,1)
FROM dual