如何查看sql server中代码创建的临时表?

InT*_*ies 14 .net c# sql-server temp-tables global-temp-tables

##TheTable使用C#代码创建一个全局临时表(即).我希望能够在代码完全运行后在SQL Server管理工作室中看到临时表.

是否有可能做到这一点 ?如果是,那怎么样?

TTe*_*ple 14

所有临时表都记录在SQL Server>数据库>系统数据库> tempdb - >临时表下

  • SQL Server>数据库>系统数据库> tempdb->临时表 (2认同)
  • 尝试在创建临时表后放置一个断点,然后检查 SSMS。不要忘记刷新临时表文件夹,因为它不会自动更新。即使连接/会话断开后,##tables 也应该保留。#tables 仅在创建它们的会话中存在。 (2认同)

CJB*_*JBS 5

代码完成并且会话关闭后,临时表将不再存在.如果要在SQL Server Management Studio(SSMS)中查看它,则需要保持代码会话处于打开状态,直到在SSMS中检查数据为止.

每个Technet:

全局临时表在创建后对任何用户和任何连接都是可见的,并且在引用该表的所有用户与SQL Server实例断开连接时将被删除.

作为替代方案,这里有一个C#代码选项,它将临时表中的数据选择为代码变量,以便在代码中查看...(如果代码存在,您可以将其写入文件或通过另一种方法) - 请参阅:https://stackoverflow.com/a/6748570/3063884


M.A*_*Ali 5

创建测试表

SELECT * INTO ##temp1
FROM dbo.SomeTable_Name
Run Code Online (Sandbox Code Playgroud)

现在检查表是否存在

SELECT  * FROM tempdb.dbo.sysobjects O
WHERE O.xtype in ('U') 
AND O.ID = OBJECT_ID(N'tempdb..##temp1')
Run Code Online (Sandbox Code Playgroud)