Oracle Crear tabla TEMP

Oracle Crear tabla TEMP

Las tablas temporales globales son útiles al almacenar datos provisionales que solo se necesitan para una duración de transacción o sesión. A diferencia de las tablas regulares, las tablas temporales globales se caen automáticamente cuando finaliza la sesión o la transacción. Por lo tanto, no necesitan ser descartados explícitamente como tablas normales. Sin embargo, las tablas temporales globales solo son visibles para la sesión actual, por lo que no pueden acceder a ellas sesiones o usuarios.

En Oracle, una tabla temporal global es un tipo especial de tabla creada utilizando la declaración "Crear tabla temporal global". Esta declaración es similar a la declaración regular "Crear tabla", pero incluye la palabra clave "global temporal" para especificar que la tabla es una tabla temporal global.

La sintaxis de la declaración "Crear tabla temporal global" es la siguiente:

Crear tabla temporal global table_name (
Tipo de datos de columna1 [NULL | NO NULO],
column2 DataType [NULL | NO NULO],

) [On Commit Eliminar | Preserve filas];

En esta sintaxis, table_name es el nombre de la tabla temporal global que desea crear. columna1, columna2, etc., son los nombres y tipos de datos de las columnas en la tabla.

La cláusula de confirmación de confirmación especifica si las filas en la tabla se eliminarán o se conservarán cuando se comete la transacción actual. El motor de la base de datos utilizará la opción On Commit Eliminar filas si la cláusula de confirmación no está definida.

Como se mencionó, tenga en cuenta que los datos en una tabla temporal son privados. Esto significa que no hay otras sesiones más que las que crearon la tabla pueden acceder a ella.

Creación de ejemplo de tabla temporal global

Descubra algunos ejemplos prácticos del uso de la instrucción Crear tabla temporal en las bases de datos de Oracle.

Considere la consulta de ejemplo que se muestra a continuación:

Crear tabla temporal global temp_sales (
Número de Product_ID (10) No NULL,
sale_date fecha no nula,
Sale_Mamount Número (10,2) no nulo
) En cometer eliminar filas;

En el ejemplo anterior, creamos una tabla temporal utilizando la opción On Commit Eliminar filas.

Luego podemos insertar algunos datos de muestra como:

Insertar en valores temp_sales (product_id, sale_date, sale_amount) (1, fecha '2022-10-01', 100);
Insertar en valores temp_sales (Product_ID, Sale_Date, Sale_amount) (2, fecha '2022-10-02', 500);
Insertar en valores TEMP_SALES (Product_id, Sale_Date, Sale_amount) (3, fecha '2022-10-03', 130);

Después de eso, puede cometer la transacción como:

COMPROMETERSE;

Después de comprometerse, el motor de la base de datos truncará todos los datos en la tabla temporal como se especifica en la cláusula de confirmación.

Ejemplo 2

El siguiente ejemplo muestra cómo crear una tabla que preserva las filas en el confirmación:

Crear tabla temporal global temp_sales (
Número de Product_ID (10) No NULL,
sale_date fecha no nula,
Sale_Mamount Número (10,2) no nulo
) En cometer hileras de preservación;

Luego podemos agregar filas de muestra y confirmar como se muestra:

Insertar en valores temp_sales (product_id, sale_date, sale_amount) (1, fecha '2022-10-01', 100);
Insertar en valores temp_sales (Product_ID, Sale_Date, Sale_amount) (2, fecha '2022-10-02', 500);
Insertar en valores TEMP_SALES (Product_id, Sale_Date, Sale_amount) (3, fecha '2022-10-03', 130);
COMPROMETERSE;

En este caso, los datos deben conservarse después de la operación de confirmación, como se muestra en la declaración de selección a continuación:

Seleccionar * de temp_sales;

Producción:

Conclusión

La declaración "Crear tabla temporal" es una herramienta poderosa para crear tablas temporales en Oracle. Las tablas temporales son útiles para almacenar datos temporales solo necesarios para una transacción o sesión. La instrucción "Crear tabla temporal" le permite definir la estructura y las columnas de la tabla temporal y especificar cómo se manejarán las filas cuando se comprometa la transacción. Como resultado, el uso de tablas temporales puede mejorar el rendimiento y la eficiencia de sus consultas y aplicaciones y reducir la cantidad de espacio de almacenamiento permanente requerido en su base de datos.