如何在调试存储过程时执行sql查询

时间:2015-08-26 12:57:08

标签: sql sql-server stored-procedures procedure temp-tables

我在SQL Server 2008上调试存储过程,我有:

INSERT INTO #tempTable (ID, Name)
  SELECT ID, Name FROM dbo.MYTABLE WHERE dbo.MYTABLE.Old >= 15

如何在调试时将数据查看到#tempTable?

1 个答案:

答案 0 :(得分:1)

在SQL Server Management Studio中,您无法在调试存储过程时直接执行查询,而且仍然没有实现(我认为)。您只能在“本地调试窗口”中查看局部变量值。

在调试模式下,有一些工作可以查看临时表值: -

1)在存储过程中,在将数据插入#temptable之后,添加此行代码以在xml表中获取可变量值,并在其中查看可测量值的可变值。然后,您可以以xml格式检查“本地调试”窗口中的值

  --inserting data into temp table
  INSERT INTO #tempTable (ID, Name)
  SELECT ID, Name FROM dbo.MYTABLE WHERE dbo.MYTABLE.Old >= 15

  --to see records of temp table
  DECLARE @temptable XML 
  SET @temptable = (SELECT * FROM #@temptable FOR XML AUTO)

2)您可以将本地临时表(#temptable)转换为全局临时表(##temptable),因此当您在临时表中插入日期时,可以打开新的查询窗口,并且能够看到全局临时表记录使用选择查询。