【问题标题】:What is the best way to refactor database procedures?重构数据库过程的最佳方法是什么?
【发布时间】:2009-07-10 17:20:15
【问题描述】:

我需要了解和澄清一些包含重要业务逻辑的 T-SQL 存储过程。有谁知道任何可用于单元测试的工具、提示、技巧或提示,以便我可以重构此 sql 而不会破坏它?

【问题讨论】:

    标签: database unit-testing tsql stored-procedures refactoring


    【解决方案1】:

    我使用 C# 对存储过程进行单元测试 - 这比 T-SQL 更有效。第一个链接解释了如何快速生成单元测试。

    Close those Loopholes - Testing Stored Procedures

    Close These Loopholes - Testing Database Modifications

    【讨论】:

      【解决方案2】:

      Simon Harriyott 建议为此使用 TSqlUnit。有更多关于他的过程的信息on his blog

      【讨论】:

        【解决方案3】:

        如果您有权访问 Visual Studio Team System 数据库版,那么它会附带一组专门针对数据库的单元测试工具,如 MSDN article 中所述。

        【讨论】:

          【解决方案4】:

          如需有关重构自身的帮助(而不是对其进行测试以便进行反思),请不要忘记查看 Refactoring Databases(无论是书籍还是网站)。

          我确实使用调用代码(在我的例子中是使用 dbunit 的 Java)为存储过程编写了测试,但我不知道它将如何与其他方法进行比较。

          【讨论】:

            【解决方案5】:

            为什么需要重构?

            添加一堆 PRINT 语句并从 Management Studio 手动运行它。如果您打印正确的信息,您应该能够跟踪代码并了解发生了什么。

            如果您不知道要使用哪些参数,请将其修改为将输入参数发送到日志文件,然后使用这些参数手动运行。

            【讨论】:

            • @John MacIntyre,什么调试器?
            • @KM-如果您使用的是SQL2005或更高版本,则安装了VS,您可以从中进行调试。如果您使用的是 SQL2000,查询分析器中内置了一个调试器。
            猜你喜欢
            • 1970-01-01
            • 2017-06-08
            • 1970-01-01
            • 2010-09-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-05-26
            • 1970-01-01
            相关资源
            最近更新 更多