Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Премахнете всички временни таблици за един екземпляр

Смисълът на временните таблици е, че те са... временни. Веднага щом излязат извън обхват

  • #temp create in stored proc :запаметената процедура излиза
  • #temp създаден в сесия:сесията се прекъсва
  • ##temp:сесията, която го е създала, се прекъсва

Заявката изчезва. Ако откриете, че трябва да премахнете временните таблици ръчно, трябва да прегледате отново как ги използвате.

За глобалните това ще генерира и изпълни командата за премахване на всички.

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

Все пак е лоша идея да изпускате [глобалните] временни таблици на други сесии.

За местните (към тази сесия ) временни таблици, просто прекъснете връзката и се свържете отново.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за получаване на брой елемент за отчет на ден от месеца?

  2. Как да получите статистическа информация за SQL Server с помощта на системни статистически функции

  3. Как да намерите местоположението на файловете с данни и регистрационните файлове в SQL Server

  4. Проблем със сериализация на C# и SQL Server 2008 CLR

  5. Преобразувайте „datetime“ в „datetimeoffset“ в SQL Server (T-SQL примери)