Jaki jest najlepszy sposób, aby ustalić, czy tabela tymczasowa istnieje w SQL Server?

głosy
18

Podczas pisania skryptu T-SQL, który ja planuję na ponowne uruchomienie, Często używam tabel tymczasowych do przechowywania danych tymczasowych. Ponieważ tabela temp jest tworzony na bieżąco, chciałbym móc upuść tej tabeli tylko wtedy, gdy istnieje (zanim go utworzyć).

wyślę sposób, którego używam, ale chciałbym, aby sprawdzić, czy istnieje lepszy sposób.

Utwórz 05/08/2008 o 19:18
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
14

Funkcja OBJECT_ID zwraca wewnętrzny identyfikator obiektu dla podanej nazwy obiektu i rodzaju. 'Tempdb .. # t1' odnosi się do tabeli # t1 w tempdb bazy danych. „U” jest na stole zdefiniowany przez użytkownika.

IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
  DROP TABLE #t1

CREATE TABLE #t1
(
  id INT IDENTITY(1,1),
  msg VARCHAR(255)
)
Odpowiedział 05/08/2008 o 19:21
źródło użytkownik

głosy
25

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END
Odpowiedział 05/08/2008 o 19:21
źródło użytkownik

głosy
0
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
Odpowiedział 17/09/2008 o 21:50
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more