金蝶云星空清理临时表

tlsoft 2021-12-21 451

清理临时表,一次清理5000个,如果想一次清理更多,改top 后面的数字
declare @sql as varchar(max)set @sql=''select @sql=@sql+'drop table '+name+';' from (select top 5000 name from sys.tables u join T_BAS_TEMPORARYTABLENAME v on u.name=v.FTABLENAME and ( v.FPROCESSTYPE=1 or v.FCREATEDATE<GETDATE()-1)) T;
exec(@sql);
delete u from T_BAS_TEMPORARYTABLENAME u where not exists(select 1 from sys.tables where u.ftablename=name)

查询临时表数

select COUNT(1) from sys.tables u join T_BAS_TEMPORARYTABLENAME v on u.name=v.FTABLENAME and ( v.FPROCESSTYPE=1 or v.FCREATEDATE<GETDATE()-1)



最新回复 (0)
返回
发新帖