Как вызвать хранимую функцию из хранимой процедуры и сохранить возвращаемое значение
Когда я делаю это в моей хранимой процедуре:
create procedure Proc1(
startdate IN TIMESTAMP,
ENDDATE IN TIMESTAMP
)
declare test_result number --line 55
test_result:=Stored_function1(startdate,enddate,11,13); --line 56
END;
SQL Developer выдает 2 ошибки:
PLS-00103: Обнаружен символ "TEST_RESULT" при ожидании одного из следующего::= . ( @ %; символ по умолчанию - не нулевой диапазон. Символ "." был заменен на "TEST_RESULT" для продолжения.
PLS-00103: Обнаружен символ "КОНЕЦ" при ожидании одного из следующих действий: начало прагма функция тип подтипа текущий удаление курсора ранее существовало
Stored_function1
определяется пользователем, принимает 4 параметра и не принадлежит ни к одному пакету. Где я сделал не так и как мне это исправить? Благодарю.
1 ответ
Не видя больше этого, трудно сказать, но кажется, что в вашей процедуре есть некоторые синтаксические ошибки. нет DECLARE
необходимо, точка с запятой должна быть в конце строки 55 и BEGIN
как минимум до строки 56
Вот основной скелет:
Create or replace procedure my_procedure as
test_result number;
BEGIN
test_result := Stored_function1(startdate, enddate, 11, 13);
END;