PLS-00103在CASE中遇到符号“”错误

时间:2013-12-26 11:11:11

标签: oracle plsql syntax-error pls-00103

我在下面的程序中简单地写了CASE语句

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

但是当我正在编写程序时,它会给出包装身体的编译错误

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.

有人可以帮我解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:3)

这是一个编译器错误。最可能的原因是某个地方有一个迷路',这意味着您的代码段中的第一个'终止带引号的字符串,因此编译器会将Z1视为代码,并且无效。

发现此类事情的最简单方法是使用具有语法突出显示功能的体面编辑器或IDE。这些工具可以对引号,关键字和注释进行着色,从而可以轻松找到我们制作灯笼裤的位置。有很多免费工具可用:Notepad++Oracle SQL Developer是受欢迎的选项。