2010-03-16 87 views
1

我目前正在调试Ms SQL函数(SQL 2008)。在调试MS SQL函数时查看临时表的数据

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

DECLARE @TempTable TABLE (Id INT UNIQUE); 

然后,我插入使用INSERT INTO ... SELECT语句的一些记录。

调试时,我想看看这个表中的记录。

有没有办法做到这一点?

感谢

+0

好像的 重复http://stackoverflow.com/questions/1900857/how在调试时在-t-sql中查看表值变量 – zarzych 2013-05-03 07:45:05

回答

0

一个可能的解决方案,这可能不是最好的,就是:

  • 创建一个永久性的表是一样的临时表
  • 修改的功能,使其将临时表中的数据转储到永久表中临时表中包含您感兴趣的数据的位置

当函数结束,打开新的永久表,并且您将拥有临时表状态的副本。

这要求您有权创建新表格并修改该功能。

+0

我很害怕这一点。我真的认为我可以在调试器中看到表格的内容。我会尽力。 – vIceBerg 2010-03-16 14:58:45

1

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

你可以把你的代码中设置断点,打开第二个连接,并要求使用它:

exec sp_select 'tempdb..#mytable'