tipo - Crear una variable de tabla en SQL Server 2008 R2
tabla temporal sql server (1)
@tableName
Las variables de tabla están @tableName
durante la duración del script que se ejecuta, es decir, solo son objetos de nivel de sesión.
Para probar esto, abra dos ventanas del editor de consultas bajo el estudio de administración del servidor sql, y cree variables de tabla con el mismo nombre pero con estructuras diferentes. Tendrás una idea. El objeto @tableName
es temporal y se utiliza para nuestro procesamiento interno de datos, y no contribuye a la estructura de la base de datos real.
Existe otro tipo de objeto de tabla que puede crearse para uso temporal. Son objetos #tableName
declarados como una declaración de creación similar para tablas físicas:
Create table #test (Id int, Name varchar(50))
Este objeto de tabla se crea y almacena en la base de datos temporal. A diferencia del primero, este objeto es más útil, puede almacenar datos grandes y participa en transacciones, etc. Estas tablas están activas hasta que la conexión esté abierta. Debe eliminar el objeto creado siguiendo el script antes de volver a crearlo.
IF OBJECT_ID(''tempdb..#test'') IS NOT NULL
DROP TABLE #test
Espero que esto tenga sentido!
¿Qué es la tabla variable? Y cómo crear una variable de tabla (tabla virtual en memoria) con columnas que coincidan con el conjunto de resultados del procedimiento Almacenado existente.
Ejecuté el procedimiento y después de ejecutarlo, conozco los nombres de las columnas. Pero, ¿tengo que declarar el mismo tipo de datos de las columnas que en el procedimiento almacenado?
EDITAR: Probé esto
DECLARE @Table TABLE(
name varchar(30) NOT NULL,
location varchar(30) NOT NULL
);
INSERT @Table
SELECT name, location FROM
Exec SPROC @param , @param