Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

  • Informix
  • PostgreSQL
  • MySQL
  • Oracle
  • DB2
  • Sybase
  • Энгр
  • Microsoft SQL Server
  • SQLite (3.7.2 и более поздние)
  • Teradata и Aster

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

Стандартные комментарии комментариев к документу 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 (IDS или Informix) поддерживает комментарии стиля C. Он также поддерживает "{ ... }" как потенциально многострочные комментарии, за исключением контекстов, где это означает что-то другое, - что что-то еще является литералом LIST или SET или MULTISET. (Возможно, вы обнаружите, что DB-Access запутался в комментариях стиля C, это отдельная проблема.)

Ответ 2

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