update tipo temporales tablas tabla las into eliminar donde dinamica crear consultar almacenan sql oracle

into - tablas temporales vs variables tipo tabla sql server



¿Cómo se crea una tabla temporal en una base de datos Oracle? (3)

Sí, Oracle tiene tablas temporales. Aquí hay un enlace a un artículo de AskTom describe y here está la documentación oficial de Oracle CREATE TABLE.

Sin embargo, en Oracle, solo los datos en una tabla temporal son temporales. La tabla es un objeto regular visible para otras sesiones. Es una mala práctica crear y eliminar tablas temporales en Oracle con frecuencia.

CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER) ON COMMIT PRESERVE ROWS;

Oracle 18c agregó tablas temporales privadas, que son objetos en memoria de sesión única. Ver la documentación para más detalles. Las tablas temporales privadas se pueden crear y eliminar dinámicamente.

CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS SELECT * FROM orders WHERE order_date = SYSDATE;

Las tablas temporales pueden ser útiles, pero suelen ser objeto de abuso en Oracle. A menudo se pueden evitar combinando varios pasos en una sola instrucción SQL utilizando vistas en línea.

Me gustaría crear una tabla temporal en una base de datos Oracle

algo como

Declare table @table (int id)

En el servidor SQL

Y que lo llene con una declaración selecta

¿Es posible?

Gracias


Solo un consejo ... Las tablas temporales en Oracle son diferentes a SQL Server. Usted lo crea UNA VEZ y solo UNA VEZ, no todas las sesiones. Las filas que inserta en él son visibles solo para su sesión, y se eliminan automáticamente (es decir, TRUNCATE , no DROP ) cuando finaliza la sesión (o al final de la transacción, dependiendo de la cláusula "ON COMMIT" que utilice).


CREATE GLOBAL TEMPORARY TABLE Table_name (startdate DATE, enddate DATE, class CHAR(20)) ON COMMIT DELETE ROWS;