【问题标题】:SQL Server temp tables via MS Access通过 MS Access 的 SQL Server 临时表
【发布时间】:2013-09-04 08:45:31
【问题描述】:

多年来,我一直在标准 T-SQL 编码中使用#temp 表,并认为我理解它们。 然而,我被拖进了一个基于 MS Access 的项目,利用传递查询,发现了一些让我很困惑的东西。 虽然可能是 Access 的内部运作让我上当了!?

我们开始吧:在正常使用情况下,我理解如果我在 Sproc 中创建一个临时表,它的范围以 SProc 的结尾结束,默认情况下会被删除。

在 Access 示例中,我发现可以在一个查询中执行此操作:

select top(10) * into #myTemp from dbo.myTable

然后在第二个单独的查询中:

从 #myTemp 中选择 *

这怎么可能? 如果临时表在当前会话中终止,这是否意味着 Access 会保持单个会话打开,并将该会话用于执行的所有查询?

或者我对范围的基本理解一直都是错误的?

希望有人可以帮助澄清幕后发生的事情!?

非常感谢

【问题讨论】:

    标签: tsql ms-access scope temp-tables pass-through


    【解决方案1】:

    我找到了this 一个类似问题的答案:

    临时表存储在 tempdb 中,直到连接被删除(或者在全局临时表的情况下,使用它的最后一个连接被删除)。您还可以(这样做是一个很好的做法)在使用 drop table 语句完成使用表时手动删除该表。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      相关资源
      最近更新 更多