臨時表分兩種類型的臨時表:
1. 會話級臨時表
2. 事物級臨時表
臨時表:顧明思義,存在該表的數據是臨時的。
會話臨時表:該臨時表確定與會話有關。會話在不退出時,則些臨時表中的數據存在,會話退出,該臨時表中的數據也會隨之消失。在多用戶操做的狀況下,一個會話歷來不阻塞另外一個會話使用臨時表。即便鎖定臨時表,一個會話也不會阻塞其餘會話使用臨時表。其語法爲:
Create global temporary table table_name
(col1 type1, col2 type2 …)
On commit preserve rows; spa
事務臨時表:指該臨時表與事務相關,當進行事務提交或者事務回滾的時候,臨時表中的數據將自行被截斷,其餘的內容和會話級的臨時表的一致(包括退出SESSION的時候,事務級的臨時表也會被自動截斷)。語法爲:
Create global temporary table table_name
(col1 type1, col2 type2 …)
On commit delete rows; 事務