首页 > 解决方案 > 零长度单行注释导致解析错误

问题描述

不是最重要的,但如果有人能解释我在 11g 和 12c、Oracle SQL Developer 17.3.1.279 上得到的零长度单行注释的这种行为,我会很感兴趣。--a我特别发现测试 3 ( ) 和测试 5 ( )的不同结果---很有趣:

-- Test 1
select * from dual;
-- works

-- Test 2
select * from -- comment
dual;
/* works, 'Query Result SQL' shows (note this is 2 lines)
    select * from -- comment
    dual
*/

-- Test 3
select * from --a
dual;
/* works, 'Query Result SQL' shows (note this is 2 lines)
    select * from --a
    dual
*/

-- Test 4
select * from --
dual;
/* does not work, ORA-00903: invalid table name, 'Query Result SQL' shows (note this is 1 line)
    select * from - dual
*/

-- Test 5
select * from ---
dual;
/* does not work, ORA-00903: invalid table name, 'Query Result SQL' shows (note this is 1 line)
    select * from -- dual
*/

根据我能找到的 10g 文档,两者都--应该---是有效的https://docs.oracle.com/cd/B13789_01/server.101/b10759/sql_elements006.htm

以 -- (两个连字符)开始注释。继续评论的文本。此文本不能扩展到新行。用换行符结束注释。

标签: oracle-sqldeveloper

解决方案


看评论。这是 oracle sql developer 中的一个错误。


推荐阅读