Подтвердить что ты не робот

Синтаксическая ошибка при объявлении переменных в процедуре pl/sql

Это меня немного злишь. Я пытаюсь добавить переменную в процедуру, но она не работает - я получил это сообщение об ошибке:

[Ошибка] Проверка синтаксиса (25: 7): ОШИБКА line 25, col 7, final_line 25, final_col 12, Найдено 'number', Ожидание:; -или-..: = DEFAULT NOT NULL -или-% -или- (. @

Я выполнил действительно базовую процедуру ниже, чтобы изолировать проблему, и теперь я полностью застрял, поскольку каждый базовый синтаксический указатель, который я смотрел, говорит, что я делаю то, что сделал. Почему я не могу объявить переменные, как показано ниже? Я обычно код в 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;

/
4b9b3361

Ответ 1

Удалите "DECLARE". Не требуется в объявлении функции/процедуры

Ответ 2

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;
/

Ответ 3

Объявите локальную переменную между IS и блоком BEGIN для процедуры и функции.

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОЦЕДУРУ MRCS.pro_xxx_test1 (cat sys_refcursor) IS номер ложки; шарики varchar2 (3);

НАЧАТЬ

открытые кошки для выбора * из двойного;

конец;

/