sqlserver sql-server temp

sql-server - sqlserver - temp table sql server 2005



Diferencia entre#temptable y## TempTable? (4)

Aquí hay otra vista rápida de SQL Temporary Tables , si quieres google, podrías conocer más sobre esto

Tabla de temperatura local

Las tablas temporales locales solo están disponibles para la conexión actual del usuario; y se eliminan automáticamente cuando el usuario se desconecta de las instancias. El nombre de la tabla temporal local se mira con el signo hash ("#").

Tabla Global Temp

El nombre global de tablas temporales comienza con un doble hash ("##"). Una vez que esta tabla ha sido creada por una conexión, como una tabla permanente, está disponible para cualquier usuario mediante cualquier conexión. Solo se puede eliminar una vez que se hayan cerrado todas las conexiones.

Ambas tablas temporales se almacenan dentro de la carpeta temporal de tempdb. Cada vez que creamos una tabla temporal, va a la carpeta temporal de la base de datos tempdb.

Tabla temporal con identificación específica

Cuando crea la tabla Temp, el servidor SQL crea el nombre de la tabla junto con una ID específica, por lo que no colisionará con otro nombre de Table Table

here

¿Puedes explicar la diferencia entre #temptable y ##TempTable en SQL Server? Busqué en Google sobre esto pero no puedo encontrar ninguna respuesta.

Por favor ayúdenme con respecto a esto


Las tablas temporales locales solo son visibles para sus creadores durante la misma conexión a una instancia de SQL Server que cuando las tablas fueron creadas o referenciadas por primera vez. Las tablas temporales locales se eliminan después de que el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales son visibles para cualquier usuario y cualquier conexión después de su creación, y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server.

Tomado de aquí

Más sobre esto


`#table hace referencia a una tabla temporal local (visible solo para el usuario que la creó).

''## table se refiere a una tabla temporal global (visible para todos los usuarios)''.


Tablas temporales locales

Las tablas temporales locales solo están disponibles para la conexión actual del usuario; y se eliminan automáticamente cuando el usuario se desconecta de las instancias. El nombre de la tabla temporal local se mira con el signo hash ("#").

Ejemplo:

CREATE TABLE #LocalTempTable( UserID int, UserName varchar(50), UserAddress varchar(150))

El alcance de la tabla temporal local solo está delimitado con la conexión actual del usuario actual.

Tablas temporales globales

El nombre global de tablas temporales comienza con un doble hash ("##"). Una vez que esta tabla ha sido creada por una conexión, como una tabla permanente, está disponible para cualquier usuario mediante cualquier conexión. Solo se puede eliminar una vez que se hayan cerrado todas las conexiones.

Ejemplo:

CREATE TABLE ##NewGlobalTempTable( UserID int, UserName varchar(50), UserAddress varchar(150))

Las tablas temporales globales son visibles para todas las conexiones de SQL Server . Cuando crea uno de estos, todos los usuarios pueden verlo .

Vignesh puedes saber más sobre esto here