Het punt van tijdelijke tabellen is dat ze... tijdelijk zijn. Zodra ze buiten bereik gaan
- #temp create in opgeslagen proces :opgeslagen proces wordt afgesloten
- #temp aangemaakt in sessie :sessie verbroken
- ##temp :sessie die het heeft gemaakt, wordt verbroken
De vraag verdwijnt. Als u merkt dat u tijdelijke tabellen handmatig moet verwijderen, moet u opnieuw bekijken hoe u ze gebruikt.
Voor de globale zal dit de instructie genereren en uitvoeren om ze allemaal te laten vallen.
declare @sql nvarchar(max)
select @sql = isnull(@sql+';', '') + 'drop table ' + quotename(name)
from tempdb..sysobjects
where name like '##%'
exec (@sql)
Het is echter een slecht idee om de [globale] tijdelijke tabellen van andere sessies te laten vallen.
Voor de lokale (naar deze sessie ) tijdelijke tabellen, gewoon loskoppelen en opnieuw verbinden.