调试 MS SQL 函数时查看临时表的数据
Posted
技术标签:
【中文标题】调试 MS SQL 函数时查看临时表的数据【英文标题】:View temporary table`s data when debugging an MS SQL Function 【发布时间】:2010-03-16 14:28:24 【问题描述】:我目前正在调试一个 Ms SQL 函数 (SQL 2008)。
在这个函数中,我有一个这样声明的变量:
DECLARE @TempTable TABLE ( Id INT UNIQUE );
然后,我使用 insert into...select 语句插入一些记录。
调试的时候想看看这张表的记录。
有没有办法做到这一点?
谢谢
【问题讨论】:
好像是***.com/questions/1900857/…的副本 【参考方案1】:我构建了a procedure,它将显示来自另一个数据库连接的临时表的内容。 (这在普通查询中是不可能的)。
请注意,它使用DBCC PAGE
和默认跟踪来访问数据,因此仅将其用于调试目的。
您可以通过在代码中放置断点、打开第二个连接并调用来使用它:
exec sp_select 'tempdb..#mytable'
【讨论】:
【参考方案2】:一种可能的解决方案(可能不是最好的)是:
创建与临时表相同的永久表 修改函数,使其将临时表中的数据转储到永久表中,其中临时表包含您有兴趣查看的数据函数结束后,打开新的永久表,您将获得临时表状态的副本。
这需要你有创建新表和修改函数的权限。
【讨论】:
我害怕那个。我真的以为我可以在调试器中看到表格的内容。我会试试你的方法。以上是关于调试 MS SQL 函数时查看临时表的数据的主要内容,如果未能解决你的问题,请参考以下文章