Oracle兩種臨時表的建立與使用詳解
ORACLE資料庫除了可以儲存永久表外,還可以建立臨時表temporary tables。這些臨時表用來儲存一個會話SESSION的資料,或者儲存在一個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨時表的結構以及元資料還儲存在使用者的資料字典中。
分類:1.會話級臨時表
會話級臨時表是指臨時表中的資料只在會話生命週期之中存在,當用戶退出會話結束的時候,Oracle自動清除臨時表中資料。
格式:
(
Col1 Type1,
Col2 Type2
...
)
On Commit Preserve Rows;
2.事務級臨時表
事務級臨時表是指臨時表中的資料只在事務生命週期中存在。
Create Global Temporary Table Table_Name
(
Col1 Type1,
Col2 Type2
...
)
On Commit Delete Rows;
當一個事務結束(commit or rollback),Oracle自動清除臨時表中資料。
下面在Oracle 10g中演示了臨時表的建立與使用:
1.建立事務級臨時表,插入一條資料,並查詢:
- createglobaltemporarytable transaction_temp_tb (col1 varchar(20)) oncommitdeleterows;
- insertinto transaction_temp_tb values('test');
- select * from transaction_temp_tb;
2.執行commit或者rollback操作,臨時表內資料就被清空,但表結構依然存在:
3.建立一個會話級臨時表,插入一條資料,並查詢:
-
createglobaltemporarytable session_temp_tb (col1
- insertinto session_temp_tb values('test');
- select * from session_temp_tb;
4..執行commit或者rollback操作,表內資料依然存在,新建一個命令視窗(相當於開啟了一個新的會話),表內的資料就查詢不到了:
5.如果建立會話臨時表的會話沒有結束,則無法刪除此臨時表,因為臨時表,還在使用之中,但是結束會話(關閉建立會話級臨時表的命令視窗)後就可以刪除了:
相關推薦
Oracle兩種臨時表的建立與使用詳解
ORACLE資料庫除了可以儲存永久表外,還可以建立臨時表temporary tables。這些臨時表用來儲存一個會話SESSION的資料,或者儲存在一個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨
【oracle】Oracle兩種臨時表的建立與使用詳解
ORACLE資料庫除了可以儲存永久表外,還可以建立臨時表temporary tables。這些臨時表用來儲存一個會話SESSION的資料,或者儲存在一個事務中需要的資料。當會話退出或者使用者提交commit和回滾rollback事務的時候,臨時表的資料自動清空,但是臨時表的
oracle中臨時表的用法詳解
1、前言 目前所有使用Oracle作為資料庫支撐平臺的應用,大部分資料量比較龐大的系統,即表的資料量一般情況下都是在百萬級以上的資料量。 當然在Oracle中建立分割槽是一種不錯的選擇,但是當你發現你的應用有多張表關聯的時候,並且這些表大部分都是比較龐大,而你關聯的時候發現其中的某一張或者某
MySQL中的兩種臨時表
http://mysql.taobao.org/monthly/2016/06/07/ 外部臨時表 通過CREATE TEMPORARY TABLE 建立的臨時表,這種臨時表稱為外部臨時表。這種臨時表只對當前使用者可見,當前會話結束的時候,該臨時表會自動關閉。這種臨時
With tempTabel as (select...)臨時表的用法詳解
最近優化sql,發現這個臨時表真是個好東西。分享出來 (1)with基礎 使用WITH AS 語句可以為一個子查詢語句塊定義一個名稱,使用這個子查詢名稱可以在查詢語句的很多地方引用這個子查詢。Oracle 資料庫像對待內聯檢視或臨時表一樣對待被引用的子查
SELECT INTO 和 INSERT INTO SELECT 兩種表複製語句詳解(SQL資料庫和Oracle資料庫的區別)
https://www.cnblogs.com/mq0036/p/4155136.html 我們經常會遇到需要表複製的情況,如將一個table1的資料的部分欄位複製到table2中,或者將整個table1複製到table2中,這時候我們就要使用SELECT INTO 和 INSER
SELECT INTO 和 INSERT INTO SELECT 兩種表複製語句詳解
1.INSERT INTO SELECT語句 語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 或者:Insert into Table2 select * from T
Oracle create tablespace 創建表空間語法詳解
系統回滾段 語法 判斷 臨時 extent 數值 off offline 文件的 CREATE [UNDO] TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ..
Oracle已有數據表建立表分區—在線重定義
空間 plus name undo 之前 自動 原因 holding pl/sql 今天在做數據抽取的時候,發現有一張業務表數據量達到了5000W,所以就想將此表改為分區表。分區表的有點如下: 1、改善查詢性能:對分區對象的查詢可以僅搜索自己關心的分區,提高檢索速度
MyBatis無限級分類實現的兩種方法--自關聯與map集合
except app exce utf-8 elf findall ldr ati tex 1、這回先創建數據庫吧 下表cid是CategoryId的縮寫,cname是CategoryName的縮寫,pid是parentId的縮寫 無限級分類一般都包含這三個屬性,至少也要包
oracle 11g解決臨時表空間過大的問題
temp tablespace有的數據庫在使用過程中由於某些操作會導至臨時表空間過大,由於臨時表空間的工作機制,在作業完成後該部分臨時表空間也不會釋放。通過重建臨時表空間的方法可以解決這個問題,但操作還是有點繁瑣。在操作中發現,通過resize tempfile可以釋放臨時表空間,如果有多個tempfile,
Tomcat 9.0 7 的兩種開機啟動方式與web頁面管理
Tomcat 9.0 7 開機啟動方式 Tomcat WEB管理 tomcat開機啟動 項目環境 系統平臺: CentOS Linux release 7.4.1708 (Core) 內核 3.10.0-693.el7.x86_64 最小化安裝 配置jdk環境 去oracle官網
[Vue]實例化Vue時的兩種掛載方式el與$mount
class message size obj new () ESS div clas Vue 的$mount()為手動掛載,在項目中可用於延時掛載(例如在掛載之前要進行一些其他操作、判斷等),之後要手動掛載上。new Vue時,el和$mount並沒有本質上的不同。 1
mybatis oracle兩種方式批量插入資料
<insert id="addBatch" parameterType="java.util.List"> BEGIN &
分享知識-快樂自己:oracle表分區詳解
優缺點 dba 命令 2-0 方式 超過 src 索引 完全 從以下幾個方面來整理關於分區表的概念及操作: 1)表空間及分區表的概念: 2)表分區的具體作用: 3)表分區的優缺點: 4)表分區的幾種類型及操作方法: 5)對表分區的維護性操作: 1):表空間及分區表的概念 表
磁碟管理2(磁碟配額、磁碟加密、磁碟的兩種型別:mbr與gpt)
1.磁碟配額 磁碟配額:針對於裝置 dd命令: dd if=/dev/zero of=/mnt/studentfile bs=1M count=21 具體引數的含義: dd #擷取 if
iOS·NSObject的兩種含義:類與協議
1. 區分:類的NSObject與協議的NSObject iOS開發中,蘋果提供的一些系統類都屬於NSObject的子類,例如UIColor類的定義如下所示。 UIColor 或者自定義的類,也繼承自NSObject,例如下圖所示。 自定義類的父類 但是,NSObj
Spark-Streaming獲取kafka資料的兩種方式:Receiver與Direct的方
簡單理解為:Receiver方式是通過zookeeper來連線kafka佇列,Direct方式是直接連線到kafka的節點上獲取資料 回到頂部 使用Kafka的高層次Consumer API來實現。receiver從Kafka中獲取的資料都儲存在Spark Exec
資料結構篇:鄰接表建立與顯示
每一個頂點後面就是一條連結串列,每個頂點都存在數組裡。 以這張圖為例 結構如下 執行截圖 結構體定義 //邊表結點 typedef struct EdgeNode { //頂點對應的下標 int adjvex; //指向下一個鄰接
Skip List(跳躍表)原理詳解與實現
#include<stdio.h> #include<stdlib.h> #define MAX_LEVEL 10 //最大層數 //節點 typedef struct nodeStructure { int key; int value