Frage

Ich habe die globale temporäre Tabelle. wenn ich den Code als individuelle Skripte ausführen funktioniert es gut. aber wenn ich es als ein einziges Skript in TOAD ausführen dann wurde kein Datensatz erstellt. es nur eine leere globale Temperatur war Tabelle.

zB.

CREATE GLOBAL TEMPORARY TABLE TEMP_TRAN
(
COL1 NUMBER(9),
COL2 VARCHAR2(30),
COL3 DATE
) ON COMMIT PRESERVE ROWS
/

INSERT INTO TEMP_TRAN VALUES(1,'D',sysdate);
/
INSERT INTO TEMP_TRAN VALUES(2,'I',sysdate);
/
INSERT INTO TEMP_TRAN VALUES(3,'s',sysdate);
/
COMMIT;

Wenn ich die obige Code einer Anweisung zu einem Zeitpunkt ausgeführt funktioniert es gut. Aber wenn ich es als Skript ausführen läuft es gut, aber es gab keine Aufzeichnungen in temporärer Tabelle.

Kann mir jemand helfen auf diese bitte?

War es hilfreich?

Lösung

da Sie ausdrücklich ON COMMIT PRESERVE ROWS angegeben, der einzige Grund, warum die Zeilen zu „verschwinden“ erscheinen würden, ist, dass TOAD mehr als eine Sitzung verwendet (dh sind Sie das Skript mit Session A ausführen und die Tabelle mit Session B Abfrage - die sehen würde, eine leere Tabelle).

Ich benutze Toad nicht viel, aber ich weiß, Sie mehrere unabhängige Sitzungen mit diesem Tool öffnen können.

Was passiert, wenn Sie die Abfrage SELECT * FROM TEMP_TRAN; am Ende des Skripts setzten sofort nach dem Commit?

Andere Tipps

Manchmal müssen Sie die Datenanzeige in Toad aktualisieren, so dass sie die Änderungen in der Tabelle unter dem tabpage Daten zeigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top