Du siger, at du er ny i Oracle. Jeg gætter på, at du er vant til SQL Server, hvor det er ret almindeligt at bruge midlertidige tabeller. Oracle fungerer anderledes, så det er mindre almindeligt, fordi det er mindre nødvendigt.
Husk, at brug af en midlertidig tabel medfører følgende omkostninger:
- læs data for at udfylde midlertidig tabel
- skriv midlertidige tabeldata til filen
- læs data fra den midlertidige tabel, når din proces starter
I øvrigt rejser din omtale af forbindelsespooling et andet problem. En proces, der samler store mængder data, er ikke en god kandidat til at køre i en OLTP-tilstand. Du bør virkelig overveje at starte en baggrundsproces (dvs. asynkron) proces, sandsynligvis et databasejob, for at køre din lagrede procedure. Dette gælder især, hvis du ønsker at køre dette job på en regelmæssig basis, fordi vi kan bruge DBMS_SCHEDULER til at automatisere styringen af sådanne ting.