gpt4 book ai didi

sql - 是否有针对主要 SQL 方言(TSQL、Oracle、MySQL)的开源验证解析器?或者至少是这些方言的精确规范?

转载 作者:行者123 更新时间:2023-12-02 17:52:50 24 4
gpt4 key购买 nike

坊间流传的说法是,Perl 不是由规范定义的,而是由当前解释器版本碰巧接受的任何内容定义的。现在,让我们考虑像 TSQL 这样的 SQL 方言。是否有一个已发布的规范允许制作与 SQL Server 内部的验证器等效的验证器?是否已经存在这样的开源验证器? Oracle 也有同样的问题。

好吧,对于 MySQL,我猜测验证器可以直接从 MySQL 代码库中提取。尽管如此,他们实际上是否发布了规范本身,以防我想制作自己的验证器?

最佳答案

您似乎知道要为 MySQL 做什么。除了 Oracle 主要实现 ANSI SQL 以及对 SQL 的 PL/SQL 过程语言扩展大部分可以在 here 中找到外,我对 Oracle 真的不能说太多。适用于 Oracle 9i。

对于 SQL Server:

Microsoft Books On Line (BOL) 是官方引用规范。但是,不同版本的 SQL Server 有不同的页面。有几个与此相关的项目。 http://www.sqlparser.com/ - 具有适用于 Oracle、DB2、Mysql 和 SQL Server/Sybase (T-SQL) 的 .NET、Java、COM 和 VCL 版本。价格也相当合理。

http://www.codeproject.com/Articles/1136/SharpHSQL-An-SQL-engine-written-in-C (c#)

http://antlr.org/ - 这看起来是一个不错的选择。

我经常使用这个站点来格式化 SQL,但它也做了一些验证,尽管它相当粗糙: http://www.dpriver.com/pp/sqlformat.htm

这是一个类似的网站: http://www.tsqltidy.com/

我建议为 SQL 编写一个验证器,即使只是其中一个变体也是一项艰巨的任务。您可以查看 ANSI SQL 的各种 ISO/IEC 标准。 ANSI SQL-92 得到了非常广泛的实现,但也有一个 SQL:2008 标准。不过,您必须为这些标准的文档付费,而且它们并不便宜。

祝你好运。

关于sql - 是否有针对主要 SQL 方言(TSQL、Oracle、MySQL)的开源验证解析器?或者至少是这些方言的精确规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com