TN SQL的BNF表示法

时间:2012-01-31 18:21:25

标签: sql tsql bnf

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

4 个答案:

答案 0 :(得分:5)

你看过这个btw吗?

General Sql Parser

他们从头开始设计了符号......

答案 1 :(得分:3)

我知道这是一个老问题,但我发现在bitbucket上托管的this语法文件可以与GOLD Parsing System一起使用。

既然你正在寻找TSQL的BNF(我也是),而且它确实不存在,这个语法是IMO的下一个最好的东西。

答案 2 :(得分:3)

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

目前实施的语法:

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

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

等语法。检查语法和test files以获取更多详细信息。

答案 3 :(得分:1)

SQL-92 in BNF

SQL Server 2005基于SQL-92,具有一些SQL-99功能和Microsoft的T-SQL扩展。我目前找到的最好的。

如果您发现更新的一个,请告诉我.....