我在下面的程序中简单地写了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.
有人可以帮我解决这个问题吗?
提前致谢!
答案 0 :(得分:3)
这是一个编译器错误。最可能的原因是某个地方有一个迷路'
,这意味着您的代码段中的第一个'
终止带引号的字符串,因此编译器会将Z1
视为代码,并且无效。
发现此类事情的最简单方法是使用具有语法突出显示功能的体面编辑器或IDE。这些工具可以对引号,关键字和注释进行着色,从而可以轻松找到我们制作灯笼裤的位置。有很多免费工具可用:Notepad++或Oracle SQL Developer是受欢迎的选项。