如果我的理解正確,臨時表應該在會話結束時自動刪除。但是在我的存儲過程結束後,臨時表仍然存在。有人知道如何使用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. 當iSQL會話被丟棄時,Informix如何處理臨時表?
- 4. SQL Server 2005中的臨時表不會自動丟失
- 5. Sybase丟失臨時表
- 6. 會話丟失時重定向頁面?
- 7. 使用ConfigurationManager.RefreshSection()時丟失會話變量()
- 8. 保存cookie時會話丟失
- 9. 處理會話超時丟失數據
- 10. 丟失會話變量,同時保持會話ID
- 11. PHP會話丟失
- 12. 會話丟失window.location.href
- 13. 臨時存儲會話
- 14. ASP.NET會在創建會話時丟失CSS#
- 15. 在Coldfusion中丟失會話
- 16. 會話在MultipartRequest中丟失
- 17. 在POST上丟失會話
- 18. 防止會話結束時webroot更改
- 19. 會話結束時運行腳本
- 20. 會話結束時的PHP事件?
- 21. Membershipprovider:會話結束時自動註銷
- 22. MVC 4會話結束時重定向
- 23. Oracle會話臨時表中的數據何時會被刪除?
- 24. 在SSIS包中更改任務時是否會丟失臨時表?
- 25. Lucee在不穩定的時間丟失會話
- 26. PHP:ob_end_flush()結束會話
- 27. 轉到新頁面時硒會丟失會話
- 28. 使用負載平衡器F5時,IE11會丟失會話cookie
- 29. 設置HTTP頭(CI中)時,會丟失會話數據
- 30. busybox在FTP會話結束時不顯示吞吐量值?