我在SQL 2005中有一个存储过程.存储过程实际上是在SP的开头创建临时表并在最后删除它.我现在在VS 2005中调试SP.在SP之间,我想知道临时表中的内容.任何人都可以在运行时帮助查看临时表的内容.
谢谢Vinod T.
有几种临时表,我认为你可以使用在SP使用它之后没有丢弃的表.只要确保你没有两次调用相同的SP,否则你会在尝试创建现有表时遇到错误.或者只是在看到它的内容后删除临时表.所以不要使用表变量(@table
)而只是使用#table
或##table
来自http://arplis.com/temporary-tables-in-microsoft-sql-server/:
本地临时表前缀为单个数字符号(#)作为其名称的第一个字符,如(#table_name).
本地临时表仅在当前会话中可见,或者您可以说它们仅对用户的当前连接可见.当用户断开与Microsoft SQL Server实例的连接时,将删除它们.
全局临时表前缀为双号(##)作为其名称的第一个字符,如(## table_name).
全局临时表对所有会话都可见,或者您可以说任何用户在创建后都可以看到它们.
当引用该表的所有用户与Microsoft SQL Server断开连接时,将删除它们.
编辑存储过程以在临时表中临时选择*(可能在另一个表或文件中,或仅在输出窗格中),因为它运行..?
之后您可以将其更改回来.如果您无法使用原始程序,请将其复制并编辑副本.
我构建了一些存储过程,允许您查询在另一个会话中创建的临时表的内容.
请参阅github上的sp_select项目.
exec sp_select 'tempdb..#temp'
无论哪个会话,都可以通过运行来显示表的内容.