129 votes

Comment créer une table temporaire dans Oracle

J'aimerais créer une table temporaire dans une base de données Oracle

quelque chose comme

 Declare table @table (int id)
 

En serveur SQL

Et que le peupler avec une déclaration select

C'est possible?

Merci

175voto

hamishmcn Points 3486

Oui, Oracle a des tables temporaires. Voici un lien vers un article AskTom les décrivant.
Et voici la documentation officielle CREATE TABLE d’oracle (faites défiler jusqu’à la section CREATE GLOBAL TEMPORARY)
Et un exemple:

 CREATE GLOBAL TEMPORARY TABLE today_sales
   ON COMMIT PRESERVE ROWS 
   AS SELECT * FROM orders WHERE order_date = SYSDATE;
 

85voto

Matthew Watson Points 7762

Juste un conseil .. Les tables temporaires dans Oracle sont différentes de SQL Server. Vous le créez UNE FOIS et seulement UNE FOIS, pas à chaque session. Les lignes que vous y insérez ne sont visibles que par votre session et sont automatiquement supprimées lorsque vous terminez votre session (ou la fin de la transaction, selon la clause "ON COMMIT" utilisée).

42voto

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X