Bạn có biết tôi có thể lấy ký hiệu BNF (Backus Naur Form) cho phiên bản T-SQL mới nhất từ đâu không. Đây là phiên bản microsoft và tôi không thể tìm thấy bất cứ điều gì cho nó. Tôi thấy SQL2 Các sửa đổi tiêu chuẩn ISO here còn gọi là SQL92 nhưng nó dường như thiếu một số tính năng của microsoft của T-SQLKý hiệu BNF của T-SQL
Trả lời
SQL Server 2005 được dựa trên SQL92 với một số SQL-99 tính năng và của Microsoft T Tiện ích mở rộng -SQL. Tốt nhất tôi đã tìm thấy hiện nay.
Hãy cho tôi biết nếu bạn tìm thấy một cập nhật khác .....
Microsoft sử dụng [ngoặc vuông] (http://stackoverflow.com/q/9719869/402322) để trích dẫn số nhận dạng. Điều này là xa SQL-92. – ceving
Đó là nguồn đóng có nghĩa là: không có BNF. – ceving
Tôi biết đây là một câu hỏi cũ, nhưng tôi chỉ tìm thấy this tập ngữ pháp lưu trữ trên bitbucket có thể được sử dụng với GOLD Parsing System .
Vì bạn đang tìm kiếm TSF của BNF (tôi cũng vậy), và nó không thực sự tồn tại, ngữ pháp này là điều tốt nhất tiếp theo IMO.
Cảm ơn bạn đã chia sẻ. –
Tôi đã phát triển ngữ pháp tsql cho ANTLR 4 ở dạng EBNF. Kiểm tra nó trong chính thức grammars repository. Nó dựa trên msdn description.
cú pháp Hiện nay thực hiện:
- Kiểm soát dòng chảy (MSDN).
- Con trỏ (MSDN).
ngôn ngữ thao tác dữ liệu (DML):
- Biểu thức (MSDN).
- Predicates.
- Giao dịch (MSDN).
Và cú pháp khác. Kiểm tra ngữ pháp và test files để biết thêm chi tiết.
Tôi không tin rằng có một BNF được xuất bản cho T-SQL. –
Có lẽ nếu bạn sửa đổi câu hỏi của mình về lý do tại sao bạn muốn một điều như vậy/vấn đề bạn đang tìm kiếm để giải quyết, nó có thể đạt được mà không có? –
Không phải BOL đã có trong BNF chưa? –