PLS-00103 Обнаружен символ " " ошибка в случае

Я просто написал заявление CASE в процедуре, как показано ниже

(случай, когда (T1.DEVICEHOLD = 'Z1' или T2.ISHOLD = 1) тогда 1
       еще 0
       КОНЕЦ) КАК ДЕРЖАТЬ 

Но когда я завершаю процедуру, она дает ошибку ошибки компиляции для PACKAGE BODY

Ошибка: PLS-00103: обнаружен символ "Z1" при ожидании одного из следующих действий:

          * & = - +; в моде остаток не рем
            или!= или ~= >= и или как LIKE2_
          LIKE4_ LIKEC_ между || член мультимножества SUBMULTISET_
       Символ "* был вставлен перед" Z1 ", чтобы продолжить.

Может ли кто-нибудь помочь мне решить эту проблему?

Заранее спасибо!

1 ответ

Решение

Это ошибка компилятора. Наиболее вероятная причина - это бродячие ' где-то, что означает, что первый ' в вашем фрагменте заканчивается строка в кавычках, и поэтому компилятор считает Z1 быть кодом, и недействительным как таковым.

Самый простой способ обнаружить такие вещи - использовать достойный редактор или IDE с подсветкой синтаксиса. Эти инструменты окрашивают кавычки, ключевые слова и комментарии, что позволяет легко определить, где мы сделали свои шутки. Доступно множество бесплатных инструментов: Notepad ++ или Oracle SQL Developer - популярные варианты.

Другие вопросы по тегам