How to view data in table variables during debugging session in MS SQL Management Studio 2012?

后端 未结 4 795
借酒劲吻你
借酒劲吻你 2021-02-18 20:21

I would like to debug a complex T-SQL script using SSMS 2012.

I can run the script in debug mode and place breakpoints, as well as step through my script, but I can\'t

4条回答
  •  日久生厌
    2021-02-18 21:06

    Whilst I can't find any documetation, anywhere, that explicitly states that you cannot inspect table variables, I don't believe that it's possible. From Transact-SQL Debugger

    Locals and Watch. These windows display currently allocated Transact-SQL expressions. Expressions are Transact-SQL clauses that evaluate to a single, scalar expression. The Transact-SQL debugger supports viewing expressions that reference Transact-SQL variables, parameters, or the built-in functions that have names that start with @@. These windows also display the data values that are currently assigned to the expressions.

    (My emphasis)

    That is, you can only inspect scalars.

    As to your attempt to use the Immediate window, the Limitations on Debugger Command and Features says:

    The Immediate window is displayed, but you cannot do anything useful with it, such as setting a variable to a value, or querying the database.


    I've never really used the debugger much - everytime I've looked into it, I encounter limitations like this.

    That's why I still tend to use "old-skool"/"printf" approaches to debug SQL - include extra SELECT *s liberally throughout the code showing the current state of tables, and extra PRINT or RAISERROR messages that show other states, etc. And then just run the code normally, until you've bashed it into shape.

提交回复
热议问题