Ошибка oracle PLS-00103 после выполнения простого запроса

#oracle #pls-00103

#Oracle #pls-00103

Вопрос:

это код, который я запустил в разработчике Oracle SQL, и следующая ошибка: это очень простой запрос, так что же в нем не так?

 DECLARE zero varchar(20); DECLARE emptys; begin zero := '0'; emptys := null; IF(emptys = zero) then  DBMS_OUTPUT.put_line('yes'); ELSE dbms_output.Put_line('no');  end if; end;    

Ошибка, начинающаяся со строки : 1 в команде — ОБЪЯВИТЕ нулевой varchar(20); ОБЪЯВИТЬ пустыми; начните с нуля := ‘0’; пусто := null;

 IF(emptys = zero) then  DBMS_OUTPUT.put_line('yes'); ELSE dbms_output.Put_line('no');  end if;  

конец;

Отчет об ошибке — ORA-06550: строка 2, столбец 5: PLS-00103: Обнаружен символ «ОБЪЯВИТЬ» при ожидании одного из следующих:

функция begin процедура pragma подтип типа текущее удаление курсора существует до того, как символ «begin был вставлен перед «ОБЪЯВЛЕНИЕМ» для продолжения. ORA-06550: строка 13, столбец 74: PLS-00103: Обнаружен символ «конец файла» при ожидании одного из следующих:

( начальный случай объявляет выход из конечного исключения для goto, если в цикле mod null прагма raise возвращает значение выберите обновить, пока с lt; 00000 — «строка %s, столбец %s:n%s» *Причина: Обычно ошибка компиляции PL/SQL. *Действия:

Ответ №1:

DECLARE указывает начало раздела объявления переменной. У вас был бы только один такой раздел. Вы не повторяете это ключевое слово для каждой переменной, которую вы объявляете.

Вы не указали тип данных для переменной emptys . Я предполагаю, что вы хотите, чтобы это было varchar2(20)

 DECLARE   zero varchar(20);  emptys varchar2(20); begin  zero := '0';  emptys := null;  IF(emptys = zero) then   DBMS_OUTPUT.put_line('yes');  ELSE  dbms_output.Put_line('no');   end if; end;