2016-04-20 15 views
0

Gibt es in Oracle eine Möglichkeit, eine globale temporäre Tabelle zu erstellen, die nach dem Ende der Sitzung gelöscht wird? Ich weiß, wie man temporäre Tabelle mit Bedingung schafft, dass Reihen gelöscht werden, aber es ist für mich nicht ausreichend.Oracle globale temporäre Tabelle

+2

Sie können, sortieren (aber der Tropfen muss manuell sein), aber es ist keine gute Idee, Objekte im laufenden Betrieb zu erstellen. Vielleicht kannst du erklären, warum du denkst, dass du das tun musst. Wenn Sie von einem anderen DBMS kommen, das dies erlaubt, sollten Sie vielleicht einen anderen Ansatz für Oracle haben - vielleicht Unterabfrage-Factoring, vielleicht Sammlungen, vielleicht etwas anderes. Es hängt wirklich davon ab, was Sie tun und welches Problem Sie lösen möchten. –

+1

Bitte erläutern Sie, warum das für Sie "nicht ausreichend" ist. Was ist das ** echte ** Problem, das du lösen willst? –

+0

Das Problem ist, dass ich viele temporäre Tabellen nur erstellen, so dass ich Daten von ihnen exportieren kann und nach einiger Zeit wird mein Schema voller unnötiger Tabellen namens "temp", "temp1" usw. Wäre schön, wenn Oracle etwas wie gehabt hätte "Arbeitsbibliothek" in SAS, die nach dem Trennen vollständig verschwinden. –

Antwort

0

Es scheint wie ein Postgres Weg. Leider ist es in Oracle unmöglich. Versuchen Sie zu verwenden PL/SQL Collections and Records

+0

Warum ist es "unglücklich"? Die Tatsache, dass globale temporäre Tabellen beibehalten werden (es sind die temporären Daten), ist eine Funktion. –

+0

Als Beispiel: wenn Sie Einschränkungen beim Erstellen neuer permanenter Objekte (Tabellen && Typen) haben. In diesem Fall werden Sie Sammlungen verwenden, ohne auf SQL zuzugreifen: ** from table (collection) **. Es ist wirklich unbequem. – saphsys

+0

Warum haben Sie Einschränkungen beim Erstellen neuer permanenter Objekte? Das ist ein Problem für jeden, der dir dumme Einschränkungen auferlegt hat, kein Problem mit der Art, wie Oracle GTTs entworfen hat. –

Verwandte Themen