SELECT INTO变量名为temp table,引用它,然后DROP它

时间:2017-12-18 12:44:50

标签: sql-server stored-procedures

如何使用SELECT INTO创建一个名为temp table的变量(例如#TempTable2017_12_18_14_32_423其中#TempTable是一个字符串而2017_12_18_14_32_423是一个GETDATE()格式的变量)然后引用创建之后的同名?然后,我需要在程序完成后再次删除它。

我知道动态SQL是可能的,但是由于整个过程的复杂性而需要限制在此项目上花费的时间将其转换为动态SQL

1 个答案:

答案 0 :(得分:0)

我不知道为什么你会想到这些复杂的想法。通过在日期和时间之后命名的表来查找基于此的记录,然后最好的方法是在表上有一个datetime列,然后根据该列过滤记录。

通常,当您创建临时表时,该表实际上是在服务器的temdb中创建的。即使你只是将表名指定为#temp,tempdb上的表创建也会有一些附加信息,表名称就像会话ID一样,这就是为什么你可以在同一个数据库上有多个具有相同名称的临时表的原因。多个查询窗口(Session)具有不同的结构。

(这个概念太广泛了,不能在这里解释。所以我只是给出一个基本的想法)