資料庫學習之 臨時表

2021-05-25 17:11:51 字數 823 閱讀 9644

今天從書上看到了一章關於「臨時表」的介紹,「臨時表」也是我在此前學習中不曾涉及到的地方。

絕大多數關係型資料庫都有臨時表, 這在sql-92中也是乙個標準,臨時表的特性在於分布式的運用, 也即任何乙個使用者連線到資料庫, 即使使用的是同名臨時表,這個使用者的所有操作也對另一連線的使用者不可見。臨時表多使用者並行不是問題

1。會話特有的臨時表

create global temporary ()

on commit preserve rows;

2。事務特有的臨時表

create global temporary ()

on commit delete rows;

create global temporary table mytemptable

--on commit delete rows 說明臨時表是事務指定,每次提交後oracle將截斷表(刪除全部行)

--on commit preserve rows 說明臨時表是會話指定,當中斷會話時oracle將截斷表。

on commit delete rows子句定義的臨時表它的特性在於臨時表的所有資料將在一次事物提交後被全部刪除;

on  commit preserve rows子句定義的臨時表它的特性在於臨時表的所有資料在一次失事物交後將依舊保留。

但是無論使用哪種on commit子句定義的臨時表, 它在一次資料庫連線結束後都將被刪除所有資料。

每一種資料庫對於臨時表的定義都存在著相容性的問題, 在sql-92編碼規則中, 臨時表建立後即使連線結束頁不會被刪除, 符合這個標準的資料庫具有代表性的就是oracle。(~~~~有待自己的實驗驗證).... 

資料庫臨時表

建立方法 方法一 createtable temptablename 或select 欄位1,欄位2,into temptablename from table 方法二 createtable tempdb mytemptable tidint 說明 1 臨時表其實是放在資料庫tempdb裡的乙個使...

資料庫表(臨時表)

oracle中的段 segment 是占用磁碟上儲存空間的乙個物件。儘管有多種型別,不過最常見的段型別如下 q 聚簇 cluster 這種段型別能儲存表。有兩種型別的聚簇 b 樹聚簇和雜湊聚簇。聚簇通常用於儲存多個表上的相關資料,將其 預聯結 儲存到同乙個資料庫塊上 還可以用於儲存乙個表的相關資訊。...

資料庫建立臨時表

表名前使用乙個 號,臨時表是區域性的,使用兩個 號,臨時表是全域性的,在斷開連線後sql會自動刪除臨時表 create table a id int,name varchar 50 insert into a id,name values 1,123 select from a drop table...