我有一个大脚本需要调试以捕获错误。脚本中有一个表声明为变量。一些 t-sql 插入到该表中。我想在调试模式下从表中选择。我在屏幕上打开了“locals”窗口,但我看不到那里的表的内容,只有变量本身,当代码执行在所需的断点处停止时,我也不能从临时表变量中选择。
有没有办法可以在调试模式下查询表?谢谢!
我有一个大脚本需要调试以捕获错误。脚本中有一个表声明为变量。一些 t-sql 插入到该表中。我想在调试模式下从表中选择。我在屏幕上打开了“locals”窗口,但我看不到那里的表的内容,只有变量本身,当代码执行在所需的断点处停止时,我也不能从临时表变量中选择。
有没有办法可以在调试模式下查询表?谢谢!
出于调试目的,您可以将表变量 (@tableName) 替换为全局临时表 (##tableName)。
表变量和本地临时表 (#tableName) 仅存在于定义它们的会话中,因此只能在该会话中查询。全局临时表可以从其他会话访问,并且会一直存在,直到与它们的所有连接都被删除,因此当脚本在其窗口中执行时,您将能够从不同的 SSMS 窗口检查结果。
您需要注释掉表变量定义,然后添加CREATE TABLE ##...
语句。之后,查找和替换应该准备好您的脚本(完成后将其放回原处)。
这是关于Temporary Tables的文档。