create or replace procedure sample
as
ID VARCHAR(20);
BEGIN
execute immediate
'CREATE GLOBAL TEMPORARY TABLE UPDATE_COLUMN_NO_TP
(
NAME VARCHAR2(256)
)';
INSERT INTO UPDATE_COLUMN_NO_TP
SELECT SRC_PK_COLUMNS.PK_KEY
FROM SRC_PK_COLUMNS
WHERE NOT EXISTS (
SELECT 1
FROM TGT_PK_COLUMNS
WHERE TGT_PK_COLUMNS.ID = SRC_PK_COLUMNS.ID);
END;
錯誤是:創建並插入一行到表中的存儲過程
The table is no exist.
所以,我要爲這種情況最好的解決方案。在我的存儲過程中,我有10個臨時表。所有這些都是動態創作和插入。
全局臨時表的整點是,你不即時創建它們。你創建一次,然後在需要時使用它們。 (你不能修復那個程序) – Mat 2013-03-27 09:38:24
[如何在oracle存儲過程中創建和使用臨時表?](http://stackoverflow.com/questions/9310860/how-to-create- oracle11存儲過程) – 2013-03-27 11:08:33