Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ist es notwendig, # zum Erstellen von temporären Tabellen in SQL Server zu verwenden?

Ja. Sie müssen dem Tabellennamen ein "#" (Hash) voranstellen, um temporäre Tabellen zu erstellen.

Wenn Sie die Tabelle später NICHT benötigen, erstellen Sie sie. Temporäre Tabellen sind normalen Tabellen sehr ähnlich. Es wird jedoch in tempdb erstellt. Außerdem ist es nur über die aktuelle Sitzung zugänglich, dh für EG:Wenn ein anderer Benutzer versucht, auf die von Ihnen erstellte temporäre Tabelle zuzugreifen, kann er dies nicht tun.

"##" (Double-Hash erstellt "globale" temporäre Tabelle, auf die auch andere Sitzungen zugreifen können.

Unter dem folgenden Link finden Sie die Grundlagen temporärer Tabellen:http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

Wenn der Inhalt Ihrer Tabelle weniger als 5000 Zeilen umfasst und KEINE Datentypen wie nvarchar(MAX), varbinary(MAX) enthält, ziehen Sie die Verwendung von Tabellenvariablen in Betracht.

Sie sind am schnellsten, da sie genau wie alle anderen Variablen sind, die im RAM gespeichert werden. Sie werden auch in tempdb gespeichert, nicht im RAM .

DECLARE @ItemBack1 TABLE
(
 column1 int,
 column2 int,
 someInt int,
 someVarChar nvarchar(50)
);

INSERT INTO @ItemBack1
SELECT column1, 
       column2, 
       someInt, 
       someVarChar 
  FROM table2
 WHERE table2.ID = 7;

Weitere Informationen zu Tabellenvariablen:http://odetocode.com/articles/365.aspx