Существуют ли многострочные разделители комментариев в SQL, которые не зависят от поставщика? - PullRequest
37 голосов
/ 08 апреля 2009

При редактировании, построении или извлечении из операторов SQL я могу взаимодействовать с одним из четырех популярных инструментов для работы с базами данных. Я прибегал к однострочному комментированию для DB2 и Informix. Я создал макросы в vim, чтобы сделать это немного более эффективным, но мне было интересно, работаю ли я слишком усердно.

Ответы [ 2 ]

42 голосов
/ 08 апреля 2009

Комментарии в стиле C являются стандартными в SQL 2003 и SQL 2008 (но не в SQL 1999 или более ранних версиях). Все следующие СУБД поддерживают комментарии в стиле C:

  • Informix
  • PostgreSQL
  • MySQL
  • Oracle
  • DB2
  • Sybase
  • Энгр
  • Microsoft SQL Server
  • SQLite (3.7.2 и более поздние версии)
  • Терадата и Астра

Это не все возможные СУБД, но это более или менее каждая основная СУБД SQL. (Я охотно добавлю заметки о любой другой СУБД, которая поддерживает или не поддерживает комментарии в стиле C.)

Стандартные документы SQL 2003 комментируют записи следующим образом:

<comment> ::= <simple comment> | <bracketed comment>

<simple comment> ::=
    <simple comment introducer> [ <comment character> ... ] <newline>

<simple comment introducer> ::=
    <minus sign> <minus sign> [ <minus sign> ... ]

<bracketed comment> ::=
    <bracketed comment introducer> <bracketed comment contents>
    <bracketed comment terminator>

<bracketed comment introducer> ::= <slash> <asterisk>

<bracketed comment terminator> ::= <asterisk> <slash>

<bracketed comment contents> ::= [ { <comment character> | <separator> }... ]

<comment character> ::= <nonquote character> | <quote>

IBM Informix Dynamic Server (IDS или Informix) поддерживает комментарии в стиле C. Он также поддерживает '{ ... }' в качестве потенциально многострочных комментариев, за исключением случаев, когда это означает что-то еще - что-то еще, являющееся литералом LIST, SET или MULTISET. (Вы можете обнаружить, что DB-Access смущен комментариями в стиле C; это отдельная проблема.)

8 голосов
/ 08 апреля 2009

Стандарт ISO определяет только однострочные комментарии, начинающиеся с двух штрихов. Некоторые поставщики поддерживают комментирование в стиле C (то есть многострочный, начинающийся с / * и заканчивающийся * /), но его не следует считать «независимым от поставщика».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...