2012-01-31 76 views
9

您知道从哪里可以获得最新版本的T-SQL的BNF(Backus Naur表单)符号。这是微软版本,我找不到任何东西。我发现SQL2修订后的ISO标准here也称为SQL92,但它似乎缺少微软的某些功能的T-SQLT-SQL的BNF表示法

+0

我不相信已经发布了针对T-SQL的BNF。 – 2012-01-31 18:27:32

+0

也许如果你修改了你的问题,为什么你想要这样的事情/你想要解决什么问题,它可以没有? – 2012-01-31 19:35:52

+0

BOL已经不在BNF了吗? – 2012-01-31 19:38:02

回答

1

SQL-92 in BNF

SQL Server 2005是基于SQL92一些SQL-99功能与微软式T -SQL扩展。目前我发现的最好的。

让我知道,如果你找一个比较最新的一个.....

+0

Microsoft使用[括号](http://stackoverflow.com/q/9719869/402322)引用标识符。这远离SQL-92。 – ceving 2012-12-07 17:33:49

5

你检查出这个BTW?

General Sql Parser

他们enginered从地上爬起来的符号....

+0

这是封闭的来源,这意味着:没有BNF。 – ceving 2012-12-07 17:29:09

3

我知道这是一个老问题,但我只是发现托管到位桶this语法文件可以与GOLD Parsing System使用。

既然你正在寻找TSQL的BNF(我太),它实际上并不存在,这个语法IMO退而求其次。

+0

感谢您的分享。 – 2014-06-07 11:52:00

2

我为EBNF格式的ANTLR 4开发了tsql语法。检查官方grammars repository。它基于msdn description

目前正在执行的语法:

  • 流量(MSDN)的控制。
  • 游标(MSDN)。
  • 数据操纵语言(DML):

    • 删除(MSDN)。
    • 插入(MSDN)。
    • 选择(MSDN)。
    • 更新(MSDN)。
  • 表达式(MSDN)。
  • 谓词。
  • 交易(MSDN)。

及其它语法。检查语法和test files了解更多细节。