如何在SQL Server中删除N天的临时/临时表

问题描述 投票:-1回答:1

我们有100多个proc正在创建临时表,然后Not删除它们。许多内部版本已投入生产。我们希望使用SQL查询在N(= 2)天后删除这些消息并计划它。有什么办法吗?下面是从旧的临时表进行迭代的示例代码,但是如果我运行它,则无法删除这些表。

USE tempdb;
DECLARE @SQL VARCHAR(MAX) 

set @SQL = 
(
    SELECT   STUFF(
    (
        SELECT ' DROP TABLE ' + cast(name as varchar(200))
        FROM tempdb.sys.tables where create_date < '2019-12-10 00:00:00.000'
        FOR XML PATH('')
    ),1, 1, '')
);

PRINT @SQL;
sql sql-server optimization temp-tables
1个回答
0
投票
因此,我们不需要删除#table ## table,因为它可以由引擎本身自动完成。但是,最佳实践是在创建脚本的脚本中手动删除该表,这将有助于Sql Server确定垃圾回收。

Deleting Global Temporary Tables (##tempTable) in SQL Server

请在下面的SQL Server的最新版本中进行检查https://codingsight.com/introduction-to-temporary-tables-in-sql-server/

© www.soinside.com 2019 - 2024. All rights reserved.