Я составил глобальную временную таблицу. когда я выполняю код как отдельные сценарии, он хорошо работает. но когда я выполняю его как единственный сценарий у ЖАБЫ затем, никакая запись не была создана. была только пустая глобальная временная таблица.
например.
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;
Когда я выполняю вышеупомянутый код один оператор за один раз, он хорошо работает. Но когда я выполняю его как сценарий, это хорошо работает, но во временной таблице не было никаких записей.
кто-либо может помочь мне на этом?
поскольку вы явно указали ON COMMIT PRESERVE ROWS
, единственная причина, по которой строки, казалось бы, «исчезают», заключается в том, что TOAD использует более одного сеанса (т. Е. Вы выполняете сценарий с сеансом A и запрос к таблице с помощью сеанса B - который увидит пустую таблицу).
Я не часто использую Toad, но знаю, что с помощью этого инструмента вы можете открыть несколько независимых сеансов.
Что произойдет, если вы поместите запрос SELECT * FROM TEMP_TRAN;
в конец сценария сразу после фиксации?
Иногда вам нужно обновить отображение данных в Toad, чтобы оно отображало изменения в таблице под вкладкой «Данные».