我在处理PLSQL包时遇到了一个非常奇怪的问题。
我们在两个环境PRODUCTION和TEST中拥有相同的包装和主体。关于PRODUCTION的那个编译没有任何问题,但在TEST上它会抛出此错误
Error:
ORA-06553: PLS-103: Encountered the symbol "ALTERNATIV_NAME" when expecting one of the following:
<an identifier> <a double-quoted delimited-identifier>
ORA-06553: PLS-112: end-of-line in quoted identifier".
我已经将相同的包结构从PRODUCTION复制到TEST数据库,但我仍然得到相同的结果。身体抛出了上述错误。
我无法理解&#39; ALTERNATIV_NAME&#39;,非常感谢任何帮助。
答案 0 :(得分:0)
错误是语法错误。源代码中存在一些破坏编译的东西。错误消息应包含行号,这些行号将指向您要查看的位置。
表格中的问题&#39;我的代码在环境A中运行,但在环境B&#39;我们几乎不可能回答。即使您发布了代码,我们仍然无法获得帮助,因为最可能的原因是两种环境之间存在差异,显然我们无法访问它们。
好消息是,您可以访问您的两个环境,因此您可以找出两者之间的不同之处。例如,一个可能的解释是脚本中的非打印字符在一个环境中被忽略,但在另一个环境中出现,因为它们位于不同的操作系统上。
顺便说一句,这表明您的部署过程存在问题。你不应该在PRODUCTION中有任何在TEST中没有成功运行的东西。
答案 1 :(得分:0)
我知道已经晚了,但也许可以帮助某人。
我遇到了同样的问题,似乎在 PL/SQL 代码中,我引用了一个列
在视图中,
当我在 sql developer editor 中浏览视图时,列名跨越两行!!!...
把它放在一行解决了我的问题。