Dans la base de données Oracle, une table temporaire est une table temporaire utilisée pour stocker des données temporaires. Contrairement aux tables ordinaires, elles sont automatiquement supprimées à la fin de la session. Les tables temporaires peuvent utiliser SELECT, INSERT, UPDATE, DELETE et d'autres opérations comme les tables ordinaires, mais leurs données ne sont visibles que par la session en cours et ne sont pas accessibles dans d'autres sessions. Dans cet article, nous explorerons comment interroger des tables temporaires à l'aide d'Oracle.
Création d'une table temporaire
Dans la base de données Oracle, vous pouvez créer une table temporaire à l'aide de l'instruction CREATE GLOBAL TEMPORARY TABLE ou CREATE TEMPORARY TABLE. Les deux instructions sont très similaires, la principale différence est que CREATE GLOBAL TEMPORARY TABLE crée une table temporaire globale et CREATE TEMPORARY TABLE crée une table temporaire de session. Voici un exemple de création d'une table temporaire de session :
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER(10), name VARCHAR2(30) ) ON COMMIT PRESERVE ROWS;
Cette instruction créera une table temporaire nommée temp_table, contenant deux colonnes, id et name, et les données seront supprimées à la fin de la session. L'option ON COMMIT PRESERVE ROWS spécifie que les données seront conservées après la soumission, afin que la table temporaire puisse être utilisée plusieurs fois au cours de la session.
Interroger une table temporaire
L'interrogation d'une table temporaire est très similaire à l'interrogation d'une table normale. Voici un exemple d'interrogation d'une table temporaire :
SELECT * FROM temp_table;
Cela renverra toutes les lignes et colonnes de temp_table.
Si vous souhaitez partager des données temporaires entre plusieurs sessions, vous pouvez utiliser l'instruction CREATE GLOBAL TEMPORARY TABLE pour créer une table temporaire globale. Voici un exemple d'utilisation d'une table temporaire globale :
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER(10), name VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; -- 在会话1中插入数据 INSERT INTO temp_table VALUES (1, 'Alice'); COMMIT; -- 在会话2中查询数据 SELECT * FROM temp_table; -- 在会话1中插入更多的数据 INSERT INTO temp_table VALUES (2, 'Bob'); COMMIT; -- 再次在会话2中查询数据 SELECT * FROM temp_table;
Dans cet exemple, la table temporaire globale temp_table est créée dans la session 1 puis certaines données sont insérées dans la session 1. La session 2 interroge toutes les lignes et colonnes de temp_table via l'instruction SELECT. Au cours de cette requête, la session 1 continue d'insérer des données dans temp_table et conserve les données après soumission. Enfin, lorsque j'interroge à nouveau temp_table lors de la session 2, je ne vois que les lignes précédemment insérées, mais pas les dernières.
Dans la base de données Oracle, la syntaxe d'interrogation des tables temporaires est la même que celle de l'interrogation des tables ordinaires. Le principal avantage des tables temporaires est qu'elles sont automatiquement supprimées après la fin de la session, ce qui permet d'éviter le travail de nettoyage manuel lorsque vous travaillez avec des données temporaires.
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!