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

馬上畢業一年了,準備跳槽,去幾家公司面試,深受打擊,在這一年裏也之後機械式的編碼,對於oracle方面的操作沒有什麼提高,在與面試官進行交流時,發現現在的程序員特別多,對於java web基礎開發都會,而且多數都是從培訓機構訓練過,重點偏向java web方向,而對於數據庫方面知識很欠缺,甚至對於概念性,作用都說不出來,接下來,就簡單講述一下:

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

作用:

(1)、由於存儲過程只在創造時進行編譯,調用過程中無需編譯直接執行,而一般的sql語句需要每執行一次就編譯一次,所以存儲過程的執行效率更高,

(2)、存儲過程可以重複使用,可減少數據庫開發人員的工作量

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

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

創建sql語句:

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

執行語句:execute執行

2、存儲函數:

作用:

缺點:

創建sql語句:

create or replace  function  函數名 

return  

is

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

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

(2)、存儲過程可以獨立作爲pl/sql語句執行,而存儲函數不可以

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

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

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

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

創建slq語句

create trigger 觸發器名 before    

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

5、索引:

作用:適當的添加索引可以提高查詢的速度切記一定是適當的創建

創建sql語句

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

6.

事務:對數據庫進行一次或多次的邏輯單元操作,要麼全部執行,要麼全部不執行

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

鎖作用:保護正在被修改的數據,直到提交或回滾了事務之後,其他用戶纔可以更新數據

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

		  完整性- 爲所有用戶提供正確的數據

7、遊標:

Oracle系統在內存中開闢的一個工作區,在其中存放SELECT語句返回的查詢結果
創建sql語句:
declare
cursor  遊標名   is select 
begin
end;




發佈了15 篇原創文章 · 獲贊 18 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章