sql >> Databáze >  >> RDS >> Sqlserver

Zrušte všechny dočasné tabulky pro instanci

Smyslem dočasných tabulek je, že jsou... dočasné. Jakmile přejdou mimo rozsah

  • #temp create v uloženém procesu :uložený proces se ukončí
  • #temp vytvořeno v relaci :relace se odpojí
  • ##temp :relace, která ji vytvořila, se odpojí

Dotaz zmizí. Pokud zjistíte, že potřebujete odstranit dočasné tabulky ručně, musíte se znovu podívat, jak je používáte.

U globálních to vygeneruje a provede příkaz, aby je všechny zrušil.

declare @sql nvarchar(max)
select @sql = isnull(@sql+';', '') + 'drop table ' + quotename(name)
from tempdb..sysobjects
where name like '##%'
exec (@sql)

Je však špatný nápad zrušit [globální] tabulky temp jiných relací.

Pro místní (k této relaci ) dočasné tabulky, stačí se odpojit a znovu připojit.



  1. Systémová proměnná mysql table_type nefunguje

  2. Jaký je nejlepší způsob, jak zkontrolovat, zda něco existuje s PDO

  3. Jak zadat název primárního klíče v EF-Code-First

  4. Začínáme s SQL Server 2017 na Linuxu na Azure Portal