sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es necesario usar # para crear tablas temporales en el servidor SQL?

Sí. Debe anteponer el nombre de la tabla con "#" (hash) para crear tablas temporales.

Si NO necesita la tabla más adelante, créela. Las tablas temporales son muy parecidas a las tablas normales. Sin embargo, se crea en tempdb. Además, solo se puede acceder a ella a través de la sesión actual, es decir, para EG:si otro usuario intenta acceder a la tabla temporal creada por usted, no podrá hacerlo.

"##" (doble hash crea una tabla temporal "Global" a la que también pueden acceder otras sesiones.

Consulte el enlace a continuación para obtener los conceptos básicos de las tablas temporales:-2005">http://www.codeproject.com/Articles/42553/Quick-Overview-Temporary-Tables-in-SQL-Server-2005

Si el contenido de su tabla tiene menos de 5000 filas y NO contiene tipos de datos como nvarchar(MAX), varbinary(MAX), considere usar Variables de tabla.

Son las más rápidas, ya que son como cualquier otra variable almacenada en la memoria RAM. También se almacenan en tempdb, no en 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;

Más información sobre las variables de la tabla:http://odetocode.com/articles/365.aspx