Gestion des données temporaires dans Oracle : guide des tables temporaires
Les bases de données Oracle proposent des tables temporaires comme mécanisme de gestion des ensembles de données temporaires au sein d'une session. Contrairement à certains autres systèmes de bases de données, dans Oracle, seules les données contenues dans la table temporaire sont transitoires ; la structure de la table elle-même persiste en tant qu'objet de base de données normal.
Création de tables temporaires globales
L'approche standard implique CREATE GLOBAL TEMPORARY TABLE
. Cela crée une table temporaire accessible uniquement dans la session en cours.
Syntaxe :
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE table_name (column_definition) ON COMMIT {PRESERVE ROWS | DELETE ROWS}</code>
ON COMMIT PRESERVE ROWS
: Les données persistent lors des validations de transaction.ON COMMIT DELETE ROWS
: Les données sont supprimées une fois la transaction terminée.Exemple :
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE daily_sales (order_id NUMBER) ON COMMIT PRESERVE ROWS;</code>
Exploiter les tables temporaires privées Oracle 18c
Oracle 18c a introduit des tables temporaires privées, offrant un stockage en mémoire spécifique à une session. Ces tables sont créées et supprimées dynamiquement au cours d'une seule session.
Syntaxe :
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE table_name AS SELECT * FROM existing_table;</code>
Exemple :
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE my_temp_sales AS SELECT * FROM sales WHERE sale_date = SYSDATE;</code>
Considérations importantes :
Bien que pratique, la surutilisation des tables temporaires doit être évitée. Dans de nombreux cas, les vues en ligne offrent une alternative plus efficace en rationalisant plusieurs instructions SQL en une seule requête. Il est crucial d’examiner attentivement les implications en termes de performances lorsque vous travaillez avec des tables temporaires dans Oracle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!