не имеет первостепенного значения, но мне было бы интересно, если бы кто-нибудь мог объяснить это поведение, которое я получаю для однострочных комментариев нулевой длины как в 11g, так и в 12c, Oracle SQL Developer 17.3.1.279. Особенно мне интересны разные результаты Теста 3 (--a
) и Теста 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:
Begin the comment with -- (two hyphens). Proceed with the text of the comment. This text cannot extend to a new line. End the comment with a line break.
Действительно странно. Вероятно, это связано с тем, что пустой комментарий не закрывается должным образом, потому что он прерывает SQL-запрос. Если вы добавите к нему любой текст, он сработает, и даже если вы сделаете /**/, он сработает.
Протестировано в мастерской Oracle APEX SQL, и там тоже работает. Просто ошибка с SQL Developer, казалось бы
Хорошо, спасибо, ребята. Я не смог найти страницу, чтобы сообщить об ошибках команде разработчиков oracle sql, поэтому я думаю, что это конец этой темы. ТИВМ
см. комментарии. это ошибка в разработчике oracle sql.
это, вероятно, проблема IDE и не имеет ничего общего с оракулом. в PLSQL Developer все запросы работают нормально