2012-01-31 77 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瞭解更多細節。