tipo temporales tablas tabla partir las eliminar donde dinamica crear consultar almacenan database oracle temp-tables

database - partir - tablas temporales sql server 2016



¿Cuál es la diferencia entre una tabla temporal vs tabla temporal global en Oracle? (5)

Además, las tablas temporales de Oracle (global) son muy útiles cuando cada uno de sus usuarios / sesiones necesita ver cada uno un conjunto diferente de datos. Simplemente INSERTE los registros en su tabla temporal global y permita que Oracle administre el mantenimiento de un conjunto de usuario del otro, así como la limpieza. No necesita consultarlos con la identificación del usuario, una identificación de sesión o lo que sea.

Los encontramos muy útiles.

He escuchado que estos dos términos "tabla temporal" y "tabla temporal global" se usan prácticamente en un contexto similar.

¿Cuál es la diferencia entre los dos?


En Oracle no hay ninguna diferencia. Cuando crea una tabla temporal en una base de datos Oracle, es automáticamente global, y debe incluir la palabra clave "Global".

El estándar SQL, que define cómo se interpreta el término "TABLA TEMPORAL GLOBAL", permite un alcance LOCAL o GLOBAL. Esto permitiría una tabla específica para el usuario (LOCAL) o para todos (GLOBAL). Oracle implementa solo la versión GLOBAL.

Los datos que ingresa en una tabla temporal de Oracle son específicos de su sesión. Es decir, solo usted puede ver sus datos incluso si hay 100 usuarios que usan la misma tabla, y sus datos se eliminan de la tabla cuando se desconecta (o cuando confirma la transacción actual) dependiendo de la configuración de la tabla.

Contraste esto con MS SQL-Server, donde las tablas temporales son locales. Si creas uno, nadie además de ti sabe que tu tabla temporal existe. En Oracle, la creación de la tabla temporal permite que todos (y todos los que tengan acceso a su esquema) puedan ver la tabla. Cuando finaliza la sesión, la tabla del Servidor SQL se elimina y deberá recrearse para la siguiente sesión. En Oracle, la tabla temporal ahora es una parte permanente de su esquema, incluso si los datos no lo son.


Tenga en cuenta que una tabla temporal global no tiene estadísticas asociadas, por lo tanto, investigue si el nivel de muestreo dinámico para la instancia debe establecerse para garantizar que las tablas no analizadas se muestreen en el tiempo de análisis. De lo contrario, la heurística puede conducir a un plan de ejecución desagradable.


Contraste esto con MS SQL-Server, donde las tablas temporales son locales. Si creas uno, nadie además de ti sabe que tu tabla temporal existe. En Oracle, la creación de la tabla temporal permite que todos (y todos los que tengan acceso a su esquema) puedan ver la tabla. Cuando finaliza la sesión, la tabla del Servidor SQL se elimina y deberá recrearse para la siguiente sesión. En Oracle, la tabla temporal ahora es una parte permanente de su esquema, incluso si los datos no son (si no es así, puede decidir si conservarlos). Oracle solo admite la tabla temporal global; le evita tener que crear la tabla en cada sesión; ''existe'' pero está vacío, y su contenido es único (y privado) por sesión.


No hay una tabla temporal, solo una tabla temporal global. La idea de una tabla temporal global es que la definición existe y puede ser vista por todos, pero los datos son privados para cada sesión. También puede configurar si los datos se limpian al confirmar o solo cuando finaliza la sesión.