Oracle進階一
Oracle事務:
事務用於保證資料的一致性,他是由增、刪、改語句組成,改組事務要麼一起成功,要麼一起失敗;oracle會在被作用的表上加鎖。
回退事務:
儲存點(savepoint):是事務中的一個點,用於取消事務。當結束事務時,會自動的刪除該事務所定義的所有儲存點。當執行rollback時,通過指定儲存點回退。
Rollback to 儲存點;
Rollback 取消全部事務;
Commit後無法在進行回退。
只讀事務:只允許執行查詢操作,而不允許dml操作的事務,使用只讀事務可以確保使用者只能取得某個時間點的資料。取得特定時間點的資料資訊。
設定只讀事務: set transaction read only;
oracle函式:
字元函式:lower(char): 小寫;upper(char) 大寫; length(char)返回字串的長度;substr(char,m,n):返回字串的字串;
select upper(substr(ename,1,1)) || lower(substr(ename,2,length(ename)-1)) fromemp;//將查詢出來的姓名,首字母大寫,其餘小寫||連線
replace: 替換函式
數學函式:cos、sin、exp、ln、log、sinh、round 等
round(n,[m]) :四捨五入,如果省略m 就四捨五入到整數,如果m是正數就到小數點後m位,m為負數則相反
trunc(n,[m]):擷取函式,沒有m就擷取小數部分,m為正數表示擷取到小數點m位後,如果m是負數,就擷取到小數點的前m位;
mod(m,n),
floor(n):返回小於或者等於n的最大正數 //向下取整
,ceil(n):返回大於或者等於n的最小正數//向上取整
dual 虛擬表用於oracle測試
日期函式:
預設情況下日期格式是dd-mon-yy 即12-7月-1992 //1992-7-12
sysdate: 返回系統時間
add_moths(d,n):返回指定日期n個月之後的日期;
last_day(d): 返回指定日期所在月份的最後一天;
轉換函式:to_char轉換位字串 to_char(指定的資料,’要轉化的格式’)
select ename,to_char(birthday,’yyyy-mm-dd hh24:mi:ss’) “出生日期” from emp;
to_date:日期轉換 把日期轉化為指定格式to_date(d,’yyyy-mm-dd hh24:mi:ss’)
系統函式:
terminal:當前繪畫所對應終端的識別符號
language:語言
db_name:當前資料庫的名字
nis_date_from :當前對話使用者所對應的日期格式
session_user:當前會話所對應的資料庫名
current_schema:當前會話客戶所對應的預設方案
host:返回資料庫所在的主機名
select sys_context(‘USERNV’,’系統函式名’) from dual;