sql >> Databasteknik >  >> RDS >> Oracle

Hur skapar man en temporär tabell i en Oracle-databas?

Japp, Oracle har tillfälliga tabeller. Här är en länk till en AskTom-artikel som beskriver dem och här är den officiella dokumentationen för oracle CREATE TABLE.

Men i Oracle är det bara data i en temporär tabell är temporär. Tabellen är ett vanligt objekt som är synligt för andra sessioner. Det är en dålig praxis att ofta skapa och släppa tillfälliga tabeller i Oracle.

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

Oracle 18c lade till privata tillfälliga tabeller, som är ensessionsobjekt i minnet. Se dokumentationen för mer information. Privata temporära tabeller kan skapas och släppas dynamiskt.

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

Tillfälliga tabeller kan vara användbara men de missbrukas ofta i Oracle. De kan ofta undvikas genom att kombinera flera steg till en enda SQL-sats med hjälp av inline-vyer.



  1. Rails/Postgresql SQL-skillnader med datum

  2. 4 sätt att hitta rader som innehåller små bokstäver i MariaDB

  3. Slumpmässig post från en databastabell (T-SQL)

  4. Ändra en MySQL-kolumn till AUTO_INCREMENT