1. 程式人生 > >Oracle進階一

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;