Domanda

ho creato la tabella temporanea globale. quando eseguo il codice come un individuo script funziona benissimo. ma quando eseguo come un singolo script in ROSPO quindi nessun record è stato creato. c'era solo una tabella temporanea globale vuota.

ad es.

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;

Quando eseguo il codice di sopra un'istruzione alla volta funziona benissimo. Ma quando eseguo come script funziona benissimo, ma non c'era nessun record nella tabella temporanea.

Chiunque può aiutare me su questo per favore?

È stato utile?

Soluzione

dal momento che lei ha dichiarato in modo esplicito ON COMMIT PRESERVE ROWS, l'unica ragione per la quale le righe sembrerebbero "scomparire" è che ROSPO sta usando più di una sessione (cioè si sta eseguendo lo script con Session A e interrogando la tabella con Session B - che vedrebbe un tavolo vuoto).

Non faccio uso di rospo molto, ma so che è possibile aprire più sessioni indipendenti con questo strumento.

Che cosa succede se si mette il SELECT * FROM TEMP_TRAN; interrogazione alla fine dello script immediatamente dopo il commit?

Altri suggerimenti

A volte, sarà necessario aggiornare la visualizzazione dei dati all'interno di rospo in modo che mostra i cambiamenti all'interno del tavolo sotto la TabPage dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top