Oracle
 sql >> Base de données >  >> RDS >> Oracle

Table temporaire locale dans Oracle 10 (pour la portée de la procédure stockée)

Vous dites que vous êtes nouveau sur Oracle. Je suppose que vous êtes habitué à SQL Server, où il est assez courant d'utiliser des tables temporaires. Oracle fonctionne différemment donc c'est moins courant, parce que c'est moins nécessaire.

Gardez à l'esprit que l'utilisation d'une table temporaire impose les frais généraux suivants :

  1. lire les données pour remplir la table temporaire
  2. écrire des données de table temporaires dans un fichier
  3. lire les données de la table temporaire au démarrage de votre processus
La plupart de ces activités sont inutiles pour vous aider à faire avancer les choses. Une meilleure idée est de voir si vous pouvez tout faire en une seule action, de préférence du SQL pur.

Incidemment, votre mention de la mise en commun des connexions soulève un autre problème. Un processus utilisant de grandes quantités de données n'est pas un bon candidat pour s'exécuter en mode OLTP. Vous devriez vraiment envisager de lancer un processus en arrière-plan (c'est-à-dire asyschrone), probablement un travail de base de données, pour exécuter votre procédure stockée. Cela est particulièrement vrai si vous souhaitez exécuter ce travail régulièrement, car nous pouvons utiliser DBMS_SCHEDULER pour automatiser la gestion de ces éléments.