首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL中是否存在与供应商无关的多行注释分隔符?

SQL中是否存在与供应商无关的多行注释分隔符?
EN

Stack Overflow用户
提问于 2009-04-08 01:17:24
回答 2查看 20.6K关注 0票数 37

在编辑、构建或挑选SQL语句时,我发现自己正在与四种流行的数据库工具之一进行交互。我一直在为DB2和Informix使用单行注释。我已经在vim中创建了宏,以使其更有效率,但我想知道我是否工作得太努力了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-08 02:46:37

C样式注释在SQL2003和SQL2008中是标准的(但在SQL1999或更早的版本中不是)。下面的DBMS都支持C风格的注释:

  • Informix
  • PostgreSQL
  • MySQL
  • Oracle
  • DB2
  • Sybase
  • Ingres
  • Microsoft SQL Server
  • SQLite (3.7.2以及later)
  • Teradata和Aster

这并不是所有可能的DBMS,但它或多或少是每个主要的SQL DBMS。(我很乐意添加关于任何其他支持或不支持C样式注释的DBMS的注释。)

SQL 2003标准记录了注释符号,如下所示:

代码语言:javascript
复制
<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风格的注释。它还支持'{ ... }‘作为潜在的多行注释,除非在上下文中它意味着其他东西-其他东西是列表或集合或多集文字。(您可能会发现DB-Access会被C样式的注释搞糊涂;这是另一个问题。)

票数 43
EN

Stack Overflow用户

发布于 2009-04-08 02:28:56

ISO标准仅定义了以两个短划线开头的单行注释。一些供应商支持C风格的注释(即多行以/*开头,以*/结尾),但它不应该被认为是“供应商不可知的”。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/728172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档