如果我的理解正確,臨時表應該在會話結束時自動刪除。但是在我的存儲過程結束後,臨時表仍然存在。有人知道如何使用tmp表嗎?先謝謝你。臨時表在會話結束時不會丟失
0
A
回答
0
A temp table
在會話期間存在。因此,如果您在stored proc
中創建了臨時表,並且您仍在同一個會話中,那麼temp table
仍然在那裏。我會建議刪除存儲過程中的表。其他RDBMS
像SQL Server
允許一個表作爲一個變量存在,聽起來像你想要的。
0
通常當獨立程序結束時,臨時表會被清除。
但是,如果我們正在調用循環內的過程,那麼在整個迭代過程中它的行爲如同single session
。
因此,與不刪除它一次又一次創建相同的臨時表相同。
無論何時我們在過程中使用臨時表,最好有「放置表」的做法。重新運行不會受到影響。
例如:
FOR v_cnt IN SELECT load_dt AS history_date FROM process_dates ORDER BY history_date ASC
LOOP
CALL sp_Logic(v_Record.history_date, 'ALL');
END LOOP;
sp_Logic(v_Record.history_date, 'ALL');
步驟:
CREATE OR REPLACE PROCEDURE sp_Logic"(DATE, CHARACTER VARYING(ANY))
RETURNS CHARACTER VARYING(ANY) EXECUTE AS CALLER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
...
..
..
v_Curr_Step := 'Populate ref_id';
CREATE TEMP TABLE TEMP_REFID_1 AS
(SELECT * FROM ref_id) ;
..
..
EXCEPTION
WHEN OTHERS
THEN
RAISE EXCEPTION 'CAUGHT EXCEPTION WHILE % : %', v_Curr_Step, SQLERRM;
END;
END_PROC;
一旦SELECT load_dt AS history_date FROM process_date查詢返回不止一個日期這段代碼將創建問題。
我不確定上述解釋是否有意義。我試過:-)
相關問題
- 1. 臨時表不會丟棄
- 2. 刷新時會話丟失
- 3. 在會話結束時從服務器刪除臨時文件
- 4. 在ASP.NET的會話結束時刪除臨時文件
- 5. 當iSQL會話被丟棄時,Informix如何處理臨時表?
- 6. SQL Server 2005中的臨時表不會自動丟失
- 7. Sybase丟失臨時表
- 8. 處理會話超時丟失數據
- 9. 保存cookie時會話丟失
- 10. 下載文件時ASP.MVC會話丟失
- 11. 會話丟失時重定向頁面?
- 12. 使用ConfigurationManager.RefreshSection()時丟失會話變量()
- 13. 永久表,臨時表或php會話?
- 14. 意外結束時,它不會結束
- 15. 丟失會話變量,同時保持會話ID
- 16. 會話不能正常工作,刷新頁面時會丟失自動會話或內容丟失頁面
- 17. 在主機環境中會話超時時間很短?測試會話丟失?
- 18. Wamp丟失會話
- 19. 會話丟失window.location.href
- 20. PHP會話丟失
- 21. 會話值丟失
- 22. 臨時存儲會話
- 23. codeigniter會話在使用phpfog託管時會丟失會話狀態
- 24. ASP.NET會在創建會話時丟失CSS#
- 25. 在.htaccess中使用rewriteRule時會丟失會話變量
- 26. 會話在MultipartRequest中丟失
- 27. 正在丟失Php會話
- 28. Window.open正在丟失會話
- 29. 在POST上丟失會話
- 30. 會話Bean正在丟失?