gpt4 book ai didi

debugging - 如何在MS SQL Management Studio 2012的调试 session 期间查看表变量中的数据?

转载 作者:行者123 更新时间:2023-12-03 13:28:26 25 4
gpt4 key购买 nike

我想使用SSMS 2012调试复杂的T-SQL脚本。

我可以在 Debug模式下运行脚本并放置断点,以及逐步执行脚本,但是看不到表变量中存储的值。

Locals窗口中,我看到了所有这些变量,但是它们的值显示为(table):

无法通过上下文菜单或单击变量来查看变量的内容。

我试图使用Immediate Window对表变量运行查询,但这似乎也不起作用。

知道如何在调试 session 中从表变量中获取值吗?

最佳答案

尽管我在任何地方都找不到任何文档,明确表明您无法检查表变量,但我认为这是不可能的。从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.



(我的重点)

也就是说,您只能检查标量。

关于您尝试使用“即时”窗口的尝试, Limitations on Debugger Command and Features说:

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.



我从来没有真正使用过调试器-每次查看调试器时,我都会遇到类似的限制。

这就是为什么我仍然倾向于使用“old-skool” /“printf”方法来调试SQL的原因-在显示表当前状态的代码中广泛包含额外的 SELECT * s,以及显示其他状态的额外 PRINTRAISERROR消息,等等。然后只需正常运行代码,直到将其成形即可。

关于debugging - 如何在MS SQL Management Studio 2012的调试 session 期间查看表变量中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17610446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com