oracle中存儲過程,存儲函數,觸發器,遊標,索引,事務以及鎖的概念,做用

一、存儲過程:oracle有系統存儲過程和自定義存儲過程,爲了完成特定功能的sql語句集,經編譯後存儲在數據庫中,用戶經過特定的存儲過程名來執行。sql

做用:數據庫

(1)、因爲存儲過程只在創造時進行編譯,調用過程當中無需編譯直接執行,而通常的sql語句須要每執行一次就編譯一次,因此存儲過程的執行效率更高,安全

(2)、存儲過程能夠重複使用,可減小數據庫開發人員的工做量服務器

(3)、安全性高,設定某個用戶使用特定存儲過程的具備使用權併發

缺點:大量使用存儲過程,增長服務器的壓力oracle

建立sql語句:函數

create or replace procedure 過程名 is begin ......end ;日誌

執行語句:execute執行索引

二、存儲函數:事件

做用:

缺點:

建立sql語句:

create or replace  function  函數名 

return  

is

三、存儲過程與存儲函數的區別

(1)、存儲函數必須有返回值(單一的),而存儲過程沒有

(2)、存儲過程能夠獨立做爲pl/sql語句執行,而存儲函數不能夠

(3)、函數能夠嵌入到slq語句中執行,而存儲過程則不能夠。

四、觸發器:特定事件出現的時候,自動執行代碼塊,類型存儲過程,但用戶不能直接調用他們,觸發器是數據庫自動執行

觸發器觸發時間有兩種:after和before。

做用:對某一個表或數據庫進行操做時,觸發器內的代碼開始執行

建立slq語句

create trigger 觸發器名 before    

類比:就比如,我刪除一個表的數據時要記錄日誌或者修改其餘表的數據

五、索引:

做用:適當的添加索引能夠提升查詢的速度,切記必定是適當的建立

建立sql語句

create index  索引名 on table(column 1,column2)

6.

事務:對數據庫進行一次或屢次的邏輯單元操做,要麼所有執行,要麼所有不執行

鎖:數據庫用來控制資源共享併發訪問的機制

鎖做用:保護正在被修改的數據,直到提交或回滾了事務以後,其餘用戶才能夠更新數據

鎖的優勢:一致性- 一次只容許一個用戶修改數據

完整性- 爲全部用戶提供正確的數據

 

七、遊標:

Oracle系統在內存中開闢的一個工做區,在其中存放SELECT語句返回的查詢結果
建立sql語句:
declare
cursor  遊標名   is select
begin
end;
相關文章
相關標籤/搜索