【发布时间】:2013-12-26 11:11:10
【问题描述】:
我在下面的过程中简单地写了 CASE 语句
(当 (T1.DEVICEHOLD = 'Z1' 或 T2.ISHOLD = 1) 然后 1 否则 0 END) 保留但是当我编译程序时,它给出了一个错误 Compilation errors for PACKAGE BODY
错误:PLS-00103:在预期以下情况之一时遇到符号“Z1”: * & = - + ;在 in 是 mod 余数不是 rem or != or ~= >= and or like LIKE2_ LIKE4_LIKEC_之间||多集成员 SUBMULTISET_ 在“Z1”之前插入符号“*”以继续。谁能帮我解决这个问题?
提前致谢!
【问题讨论】:
-
尝试去掉所有括号,这里不需要。在使用您的案例的地方发布更多代码,以便我们了解上下文。
-
发布的代码不会导致此错误,因此您尚未准确发布导致错误的原因。你能发布错误的原因吗?您的引号与代码中的引号完全相同吗?
-
你可以用上面的语句发布查询块吗?
-
@Ben--我已经精确定位了。我只写了“Z1”,但不知道为什么会出现这样的错误
-
首先,如果您在 PL/SQL 块内(而不是在 SQL 查询内)使用 CASE 语句,那么您需要以
END CASE结束该案例。并且 CASE 评估的输出应该分配给一个变量。
标签: oracle plsql syntax-error pls-00103