Синтаксическая ошибка при объявлении переменных в процедуре pl/sql
Это сводит меня с ума. Я пытаюсь добавить переменную в процедуру, но она не работает - я только что получил это сообщение об ошибке:
[Ошибка] Проверка синтаксиса (25: 7): ОШИБКА, строка 25, столбец 7, конец_ строки 25, окончание_кол 12, найденное "число", ожидание:; -или- ..:= ПО УМОЛЧАНИЮ НЕ НУЛЬ-или- % - или- ( . @
Я описал очень простую процедуру, описанную ниже, чтобы изолировать проблему, и теперь я полностью застрял, так как каждое руководство по базовому синтаксису, которое я выглядело, говорит о том, чтобы делать то, что я сделал. Почему я не могу объявить переменные, как показано ниже? Обычно я пишу код на SQL Server, если есть какая-то подсказка к моей проблеме. Большое спасибо, если кто-нибудь может помочь!
CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS
declare
spoon number;
balls varchar2(3);
BEGIN
open cats for select * from dual;
end;
/
4 ответа
Убрать "ЗАЯВИТЬ". Не требуется в объявлении функции / процедуры
CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS
spoon number;
balls varchar2(3);
BEGIN
open cats for select * from dual;
end;
/
Объявите локальный варибал между блоком IS и BEGIN для процедуры и функции.
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ MRCS.pro_xxx_test1 (убивает sys_refcursor) IS номер ложки; шары varchar2(3);
НАЧАТЬ
открыть кошек для выбора * из двойного;
конец;
/
Ключевое слово «Объявить» не требуется для создания переменных в процедуре. Объявите локальную переменную между блоками IS и BEGIN для процедуры и функции.
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ MRCS.pro_xxx_test1 (выходит из sys_refcursor)IS номер ложки; шары varchar2(3); НАЧИНАТЬ
open cats for select * from dual;
конец;