0

I have simply written CASE statement in the procedure as below

(case when (T1.DEVICEHOLD = 'Z1' or T2.ISHOLD = 1) then 1
       else 0
       END) AS HOLD 

But when I'm compling procedure its giving an error Compilation errors for PACKAGE BODY

Error: PLS-00103: Encountered the symbol "Z1" when expecting one of the following:

          * & = - + ;  at in is mod remainder not rem
            or != or ~= >=  and or like LIKE2_
          LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
       The symbol "* was inserted before "Z1" to continue.

Could anyone help me to resolve this?

Thanks in advance!

4

1 回答 1

3

这是一个编译器错误。最有可能的原因是'某个地方的杂散,这意味着'代码段中的第一个终止了带引号的字符串,因此编译器认为Z1是代码,因此无效。

发现此类事情的最简单方法是使用具有语法突出显示的体面的编辑器或 IDE。这些工具为引用、关键字和评论着色,因此可以很容易地发现我们制作灯笼裤的地方。有很多免费工具可用:Notepad++Oracle SQL Developer是流行的选项。

于 2013-12-26T11:29:24.790 回答