【发布时间】:2017-08-09 15:38:41
【问题描述】:
作为背景,我们的系统使用SQL 2000 工作,并使用Non-ANSI 语法来编写查询。当我们迁移到SQL 2008 R2 时,我们将"= * " and " * =" 修改为RIGHT 以及LEFT joins。但现在我们计划迁移到SQL 2016。逗号连接已弃用。我们也可以在这个版本中使用逗号连接,但Microsoft 建议这样会影响查询的性能。此外,我们不知道 SQL Server 会将这些Non-ANSI 组件的支持扩展到多长时间。
现在我们正在寻找一种工具(Microsoft 或第三方),它可以扫描存储过程,并且能够更改 Non-ANSI 语法,如 ',' 并将其替换为 @ 987654335@ 或JOIN。
到目前为止,我已经尝试过
Toad for Oracle https://www.toadworld.com/products/toad-for-oracle/f/10/t/9518
并注意到它没有给出正确的输出。
还使用了其他几个工具,它们都没有达到目的。
http://info.swissql.com/products/sqlone-apijava/sqlone-apijava.html
如果遇到类似情况的任何人都可以对此有所了解,那将会很有帮助。任何帮助将不胜感激。
【问题讨论】:
-
您可以将
FROM子句中的逗号替换为CROSS JOIN。 -
您可以在 Sql Server 管理工作室中使用 Ctrl+Shift+Q 来生成 ansi 标准查询。但不确定所有查询
标签: sql tsql sql-server-2008-r2 sql-server-2016