【问题标题】:View temporary table`s data when debugging an MS SQL Function调试 MS SQL 函数时查看临时表的数据
【发布时间】:2010-03-16 14:28:24
【问题描述】:

我目前正在调试一个 Ms SQL 函数 (SQL 2008)。

在这个函数中,我有一个这样声明的变量:

DECLARE @TempTable TABLE ( Id INT UNIQUE );

然后,我使用 insert into...select 语句插入一些记录。

调试的时候想看看这张表的记录。

有没有办法做到这一点?

谢谢

【问题讨论】:

标签: sql-server debugging sql-server-2008


【解决方案1】:

我构建了a procedure,它将显示来自另一个数据库连接的临时表的内容。 (这在普通查询中是不可能的)。 请注意,它使用DBCC PAGE 和默认跟踪来访问数据,因此仅将其用于调试目的。

您可以通过在代码中放置断点、打开第二个连接并调用来使用它:

exec sp_select 'tempdb..#mytable'

【讨论】:

    【解决方案2】:

    一种可能的解决方案(可能不是最好的)是:

    • 创建与临时表相同的永久表
    • 修改函数,使其将临时表中的数据转储到永久表中,其中临时表包含您有兴趣查看的数据

    函数结束后,打开新的永久表,您将获得临时表状态的副本。

    这需要你有创建新表和修改函数的权限。

    【讨论】:

    • 我害怕那个。我真的以为我可以在调试器中看到表格的内容。我会试试你的方法。
    猜你喜欢
    • 2017-04-20
    • 2010-11-23
    • 2013-09-24
    • 1970-01-01
    • 2013-05-29
    • 2011-11-21
    • 2013-01-17
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多