存储过程临时表包含不同的用户和生命周期

时间:2018-05-20 19:38:58

标签: sql-server tsql

我对临时表有疑问。我有一个存储过程,如下所示。我应该以某种方式以某种方式丢弃我的临时表,或者一旦存储过程完成就会自动删除它们(如果是这样的话,这样做会是什么地方?)

第二个问题是:如果两个用户同时触发此存储过程,它们是否共享相同的临时表,或者每个用户的存储过程是否都有自己的临时表?

P.S如果我的存储过程中有某些东西可以调整,请告诉我。

谢谢!

{{1}}

1 个答案:

答案 0 :(得分:2)

我看到你的proc代码中没有临时表,只有表变量。这些是声明它们的proc的本地范围,并且在proc完成时将自动销毁。它们只在proc代码中可见。

另外,在proc中创建的本地临时表(#前缀)是会话的本地,并且在proc完成时将自动删除。这些在proc代码中以及在proc中调用的其他模块中可见。

相关问题