![]() |
留胡子的柠檬 · 在JPA/Hibernate中正确使用flu ...· 2 月前 · |
![]() |
不开心的金针菇 · 锁定或删除RDS实例的账号_云数据库 ...· 1 月前 · |
![]() |
踏实的茄子 · 云数据库Tair(兼容 ...· 4 周前 · |
![]() |
爱看球的太阳 · 想玩另一个英雄王,准备入3DS【3ds游戏吧 ...· 7 月前 · |
![]() |
纯真的芒果 · 住房保障服务 -深圳市住房和建设局网站· 9 月前 · |
![]() |
神勇威武的蟠桃 · 途经潢川!宁西高铁南线(南信合高铁)河南段今 ...· 12 月前 · |
![]() |
爽快的莲藕 · 江苏省司法厅 通知公告 ...· 1 年前 · |
![]() |
苦恼的地瓜 · 《超级马力欧兄弟》大电影终极预告发布,内地定 ...· 1 年前 · |
是否有任何在线站点可用于验证符合多个数据库的语法?
例如:如果我有一个带有'usage‘关键字的SQL语句,那么站点应该抛出一个错误,告诉我'usage’关键字在MYSQL中是保留的?
只知道这件事。不确定它在与MySQL http://developer.mimer.se/validator/ 的竞争中表现如何
我不知道任何这样的东西,我的经验是它目前还不存在。大多数都是两个数据库的并列比较。这些信息需要所有数据库中的专家,这并不常见。版本也依赖于,以了解支持的内容。
ANSI函数正在大步前进,以确保跨数据库支持语法,但这取决于实现该规范的供应商。到目前为止,他们还没有一次实现整个ANSI规范。
但是你可以通过询问特定的问题,包括涉及的数据库和使用的版本,在像这样的网站上进行众包。
您可以尝试使用像 this 这样的格式化程序
它们总是有限的,因为它们不知道(也不能)知道您可能已经在数据库中定义了哪些用户定义的函数(或者您拥有或不能访问哪些内置函数)。
您也可以查看ANTLR (但这将是一个离线解决方案)
我从来没有见过这样的东西,但是有一个开发工具,它包括一个用于oracle,mysql,db2和sql server的语法检查器…… http://www.sqlparser.com/index.php
然而,这似乎只是一个库。您需要构建一个应用程序来利用解析器来执行您想要做的事情。而包含所有数据库的企业版将花费450美元...唉哟!
编辑:然后,看起来有人可能已经使用该库完成了您想要的操作: http://www.wangz.net/cgi-bin/pp/gsqlparser/sqlpp/sqlformat.tpl
在线工具不会自动检查每个数据库,您需要手动运行每个数据库。我也不能说它在检查语法方面有多好。你需要自己去调查。
我愿意拿我的一些声誉打赌,没有这样的事情。
部分原因是,如果您担心跨平台SQL兼容性,那么您最好的选择就是使用一些API或 ORM 工具来抽象数据库代码,这些工具可以为您处理这些事情,并且得到了很好的支持,因此将在新的数据库版本发布时进行处理。
您可以使用的具体API类型将取决于您的编程语言/平台。例如,PHP有Pear:DB等,我个人发现在 Django framework 中实现的Python特性相当不错。我认为在其他平台上也应该有一些这样的东西。
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
![]() |
纯真的芒果 · 住房保障服务 -深圳市住房和建设局网站 9 月前 |