代码之家  ›  专栏  ›  技术社区  ›  vIceBerg

调试MS SQL函数时查看临时表的数据

  •  1
  • vIceBerg  · 技术社区  · 14 年前

    我正在调试一个ms sql函数(sql 2008)。

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

    DECLARE @TempTable TABLE ( Id INT UNIQUE );
    

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

    调试时,我希望看到此表中的记录。

    有办法吗?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  0
  •   Ant    14 年前

    一种可能的解决办法,可能不是最好的办法,是:

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

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

    这要求您具有创建新表和修改函数的权限。

        2
  •  1
  •   Filip De Vos    13 年前

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

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

    exec sp_select 'tempdb..#mytable'