首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否有SQL验证器可以针对多个数据库服务器检查语法?

是否有SQL验证器可以针对多个数据库服务器检查语法?
EN

Stack Overflow用户
提问于 2011-10-13 18:59:21
回答 5查看 23.6K关注 0票数 19

是否有SQL验证器可以针对多个数据库服务器检查语法?

例如,我可能想要检查某个特定的查询是否适用于Oracle、MySQL和SQL Server。

我更关心的是SQL语法而不是被查询的实际模式,所以一个能够捕获主要语法错误的工具就足够了,比如检测SQL Server和Oracle中不支持limit子句。

编辑:

有几个答案建议检查特定DBMS或ANSI标准的语法。

我正在寻找的是一种针对两个或更多数据库(比如SQL Server和Oracle)之间的功能联合的可能性。我希望能够使用我在特定应用程序中的所有DBMS支持的任何SQL功能。

我不确定这是否值得。我认为这取决于几个数据库共享的非ANSI功能的数量。如果数量很少,那么以ANSI标准为目标可能会更好。

EN

回答 5

Stack Overflow用户

发布于 2011-10-13 19:04:16

我不知道有任何具体的,这些将检查声明是有效的ansi 92/99/2003...

http://developer.mimer.com/validator/index.htm

这将使您达到99%的目标(特别是如果您只执行CRUD操作)。

也许,如果您知道哪个数据库使用了哪些保留字,您就可以使用自己的简单检查器。请参阅:How to find if a column name is a reserved keyword across various databases

(如前所述)如果您的目标是创建数据库不可知系统,请考虑使用第三方工具,例如:entityspace

票数 7
EN

Stack Overflow用户

发布于 2011-10-13 19:09:31

从SQL Server的角度来看,您可以检查语法"for compliance with the FIPS 127-2 standard. This is based on the ISO standard.",而不是针对多个数据库服务器检查SQL语法。

示例:

代码语言:javascript
复制
SET FIPS_FLAGGER 'INTERMEDIATE'
票数 2
EN

Stack Overflow用户

发布于 2011-10-13 19:15:15

对于MySQL:尝试dbForge Studio for MySQL中的automatic SQL syntax check功能。

对于Oracle:dbForge Studio for Oracle中的PL/SQL编辑器

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7753081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档