当前位置:  开发笔记 > 数据库 > 正文

查看从存储过程创建的临时表

如何解决《查看从存储过程创建的临时表》经验,为你挑选了3个好方法。

我在SQL 2005中有一个存储过程.存储过程实际上是在SP的开头创建临时表并在最后删除它.我现在在VS 2005中调试SP.在SP之间,我想知道临时表中的内容.任何人都可以在运行时帮助查看临时表的内容.

谢谢Vinod T.



1> Ilya Kocheto..:

有几种临时表,我认为你可以使用在SP使用它之后没有丢弃的表.只要确保你没有两次调用相同的SP,否则你会在尝试创建现有表时遇到错误.或者只是在看到它的内容后删除临时表.所以不要使用表变量(@table)而只是使用#table##table


来自http://arplis.com/temporary-tables-in-microsoft-sql-server/:

本地临时表

本地临时表前缀为单个数字符号(#)作为其名称的第一个字符,如(#table_name).

本地临时表仅在当前会话中可见,或者您可以说它们仅对用户的当前连接可见.当用户断开与Microsoft SQL Server实例的连接时,将删除它们.

全球临时表

全局临时表前缀为双号(##)作为其名称的第一个字符,如(## table_name).

全局临时表对所有会话都可见,或者您可以说任何用户在创建后都可以看到它们.

当引用该表的所有用户与Microsoft SQL Server断开连接时,将删除它们.



2> Galwegian..:

编辑存储过程以在临时表中临时选择*(可能在另一个表或文件中,或仅在输出窗格中),因为它运行..?

之后您可以将其更改回来.如果您无法使用原始程序,请将其复制并编辑副本.



3> Filip De Vos..:

我构建了一些存储过程,允许您查询在另一个会话中创建的临时表的内容.

请参阅github上的sp_select项目.

exec sp_select 'tempdb..#temp'无论哪个会话,都可以通过运行来显示表的内容.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有