在线SQL语法检查符合多个数据库

是否有任何网站可用于validation符合多个数据库的语法?

例如:如果我有一个“使用”关键字的SQL语句,那么该网站应该抛出一个错误,说'使用'关键字是保留在MYSQL?

你可以试试这样的格式化程序

它们将永远受到限制,因为它们不知道(也不能)知道用户定义的数据中可能定义了哪些用户定义的函数(或者您有或没有访问的内置函数)。

你也可以看看ANTLR(但这将是一个离线解决scheme)

我从来没有见过这样的事情,但有这个开发工具,包括甲骨文的语法检查器,MySQL,DB2和SQL服务器… http://www.sqlparser.com/index.php

但是,这似乎只是图书馆。 你需要构build一个应用程序来利用parsing器来做你想做的事情。 而包括所有数据库的企业版将花费你450美元…哎!

编辑:然后,说 – 看起来有人可能已经做了你想要使用该库: http : //www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl

在线工具不会自动检查每个数据库,但需要手动运行每个数据库。 我也不能说在检查语法方面有多好。 你需要调查自己。

只知道这个。 不知道它对MySQL有多好http://developer.mimer.se/validator/

我不知道有这样的,我的经验是,它目前不存在。 大多数是两个数据库并排比较。 这些信息需要所有遇到的数据库中的专家,这是不常见的。 版本也取决于,知道什么是支持的。

ANSI函数正在大踏步地确保跨数据库支持语法,但是它依赖于实现规范的供应商。 到目前为止,他们还没有一次实现整个ANSI规范。

但是,您可以通过询问具体问题,包括所涉及的数据库和所使用的版本,在这类网站上聚集资源。

我愿意打赌我的一些声誉,没有这样的事情。

部分原因是,如果您担心跨平台的SQL兼容性,那么最好的办法就是用一些API或ORM工具来抽象您的数据库代码,这些工具可以为您处理这些事情,并得到很好的支持,所以将更新的数据库版本作为他们出来了。

完全可用的API将取决于您的编程语言/平台。 例如,PHP有Pear:DB等,我个人发现在Django框架中实现的Python的ORM特性非常好。 我猜想在其他平台上也应该有这些东西。