Oracle中-事務-序列-視圖-數據類型筆記
事務(Transaction)
- 事務(Transaction)是一個操作序列。這些操作要麽都做,要麽都不做,是一個不可分割的工作單位,是數據庫環境中的邏輯工作單位。
- 事務是為了保證數據庫的完整性
- 在oracle中,沒有事務開始的語句。一個Transaction起始於一條DML(Insert、Update和Delete )語句,結束於以下的幾種情況:
- 用戶顯式執行Commit語句提交操作或Rollback語句回退。
- 當執行DDL(Create、Alter、Drop)語句事務自動提交。
- 用戶正常斷開連接時,Transaction自動提交。
- 系統崩潰或斷電時事務自動回退。
- Commit表示事務成功地結束,此時告訴系統,數據庫要進入一個新的正確狀態,該事務對數據庫的所有更新都以交付實施。每個Commit語句都可以看成是一個事務成功的結束,同時也是另一個事務的開始。
- Rollback表示事務不成功的結束,此時告訴系統,已發生錯誤,數據庫可能處在不正確的狀態,該事務對數據庫的更新必須被撤銷,數據庫應恢復該事務到初始狀態。每個Rollback語句同時也是另一個事務的開始。
- 一旦執行了commit語句,將目前對數據庫的操作提交給數據庫(實際寫入DB),以後就不能用rollback進行撤銷。
- 執行一個 DDL ,DCL語句或從 SQL*Plus正常退出,都會自動執行commit命令。
- 提交或回滾前數據的狀態
以前的數據可恢復
當前的用戶可以看到DML操作的結果
其他用戶不能看到DML操作的結果
被操作的數據被鎖住,其他用戶不能修改這些數據
- 提交後數據的狀態
數據的修改被永久寫在數據庫中.
數據以前的狀態永久性丟失.
所有的用戶都能看到操作後的結果.
記錄鎖被釋放,其他用戶可操作這些記錄.
- 回滾後數據的狀態語句將放棄所有的數據修改
修改的數據被回退.
恢復數據以前的狀態.
行級鎖被釋放.
序列
一、概念:
序列(sequence):oracle專有的專有對象
二、作用:
產生一個自動遞增的數列
三、創建一個序列:
create sequence seq_name
start with 1
四、使用序列:
序列名.nextval
序列名.currval
視圖view
一、定義:
視圖(view):一種不占用物理空間的虛表。
二、作用:
將一些查詢復雜的SQL語句變為視圖,便於查詢
三、語法:
create [or replace] view v$_name
as sub-query
[with read only]
四、需要註意的點:
1.視圖也可以從視圖中產生
2.我們把用於產生視圖的表稱之為基表
3.我們對視圖進行數據修改就是對基表進行數據修改,反之亦然
4.不能對多張表的數據,通過視圖進行修改。
五、使用視圖需要註意
1.一般來講,只有重復出現非常多次的SQL語句,才會創建視圖
2.數據庫遷移,視圖也得隨之遷移,否則在新數據中是不能用的
3.創建視圖時,盡量不要帶or replace
數據類型
數據庫表字段的數據類型
字符數據類型
CHAR:存儲固定長度的字符串
VARCHAR2 :存儲可變長度的字符串
數值數據類型
NUMBER:存儲整數和浮點數,格式為NUMBER(p, s)
column_name NUMBER { p = 38, s = 0}
column_name NUMBER (p) {整數} column_name NUMBER (p,s) {浮點數}
日期時間數據類型
DATE:存儲日期和時間數據
TIMESTAMP:比DATE更精確
LOB數據類型
BLOB:存儲二進制對象,如圖像、音頻和視頻文件
CLOB:存儲字符格式的大型對象
Oracle中-事務-序列-視圖-數據類型筆記