【发布时间】:2017-12-18 12:44:50
【问题描述】:
如何使用 SELECT INTO 创建一个名为 temp table 的变量(例如,#TempTable2017_12_18_14_32_423 其中#TempTable 是一个字符串,2017_12_18_14_32_423 是一个GETDATE() 格式化变量),然后在它被引用之后引用相同的名称创建?然后我需要在程序完成后再次放下它。
我知道动态 SQL 是可能的,但由于整个过程的复杂性,我试图避免它,并且需要限制在将其转换为动态 SQL 的项目上花费的时间
【问题讨论】:
-
为什么您认为临时表名称需要如此复杂?临时表仅对您自己的会话是本地的,如果在存储过程完成执行时在存储过程中创建它们,它们将被自动删除。
-
我非常不喜欢像“为什么...”这样的 cmets,但我无法抗拒 - 为什么需要这样命名的临时表? /对不起,达米安要快得多/
-
sp每分钟运行几百次,需要避免过早掉表
-
每个运行的 SP 实例都将获得自己的临时表,即使它们都使用完全相同的名称。
-
在触发器的情况下呢?我知道我问过 sp,但那里也有类似的问题。
标签: sql-server stored-procedures