оракул глобальные временные таблицы

Я составил глобальную временную таблицу. когда я выполняю код как отдельные сценарии, он хорошо работает. но когда я выполняю его как единственный сценарий у ЖАБЫ затем, никакая запись не была создана. была только пустая глобальная временная таблица.

например.

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;

Когда я выполняю вышеупомянутый код один оператор за один раз, он хорошо работает. Но когда я выполняю его как сценарий, это хорошо работает, но во временной таблице не было никаких записей.

кто-либо может помочь мне на этом?

1
задан Vincent Malgrat 22 April 2010 в 14:26
поделиться

2 ответа

поскольку вы явно указали ON COMMIT PRESERVE ROWS , единственная причина, по которой строки, казалось бы, «исчезают», заключается в том, что TOAD использует более одного сеанса (т. Е. Вы выполняете сценарий с сеансом A и запрос к таблице с помощью сеанса B - который увидит пустую таблицу).

Я не часто использую Toad, но знаю, что с помощью этого инструмента вы можете открыть несколько независимых сеансов.

Что произойдет, если вы поместите запрос SELECT * FROM TEMP_TRAN; в конец сценария сразу после фиксации?

2
ответ дан 3 September 2019 в 01:06
поделиться

Иногда вам нужно обновить отображение данных в Toad, чтобы оно отображало изменения в таблице под вкладкой «Данные».

0
ответ дан 3 September 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: