temporales - Creando vista temporal desde una tabla temporal en SQL Server
tablas temporales sql server 2000 (3)
Desafortunadamente, SQL Server no soporta esto:
Msg 4103, nivel 15, estado 1, línea 3
"#someView": las vistas temporales no están permitidas.
Msg 4508, nivel 16, estado 1, línea 6
Las vistas o funciones no están permitidas en las tablas temporales. Los nombres de tablas que comienzan con ''#'' denotan tablas temporales.
Tengo una tabla temporal y me gustaría crear una vista temporal sobre esta tabla temporal.
¿Es posible?
En el siguiente ejemplo, me gustaría que #Top10Records
sea una vista en lugar de una tabla para obtener
select * into #Top10Records from (select top 10 * from #MytempTable)
Puedes usar una expresión de tabla común para hacer eso:
WITH Top10Records AS
(
select top 10 * from #MytempTable
)
SELECT * FROM Top10Records
GO
SQL Server no admite vistas temporales como tales y como se indicó anteriormente por Daryl, una expresión de tabla común es probablemente el camino a seguir. Sin embargo, una limitación de un CTE es que no se puede usar en múltiples consultas en un lote. Sin embargo, puede crear una vista estándar, usarla según sea necesario y simplemente soltarla al final del lote / transacción. (Sé que la pregunta del OP es si puede o no crear una vista temporal, pero esto también puede aplicarse; requiere un cambio de esquema, pero transitorio para todos los propósitos).