oracle用戶,遊標,儲存過程,觸發器,函數總結

作爲一個大三的學生,剛剛學完oracle,想對所學內容做個總結,僅供大家參考,有不到之處,還望大家請教。


oracle遊標

遊標:在我看來就是一個查詢數據的集合(個人觀點)

遊標的基本格式:

cursor  遊標名 is  select語句;

遊標使用步驟:

①:聲明遊標,如上

②:第二步以前老師說是打開遊標,我覺得應該是

a 遊標名%rowtype 這樣後面我們能用fetch去

訪問數據

③打開遊標 open 遊標名

④遍歷遊標 fetch 遊標名 into a 

⑤關閉遊標close 遊標名

遊標不管官方怎麼解釋,大家理解成一個查詢的集合就好了


--------------------------無敵分割線-------------------------------------------

儲存過程:在我看來就好像一個函數,我們傳一個值進去,經過一些處理過程,我們得到相對應的數據,但是沒有返回值,這點很重要,儲存過程沒有返回值,但是函數有返回值,我認爲這就是儲存過程和函數本質的區別!


儲存過程格式:


 這裏我就直接粘貼一個例子供大家參考,格式相信有基礎的大神們都不需要我去寫。

運行儲存過程:exec procedure_name(<參數1,.....>);


-----------------------------萬能分割線----------------------------------------

函數:和儲存過程很相似,但就是必須要有返回值


函數舉個栗子就行了,傳遞參數進去,處理完再return 返回一個值

運行函數:select function_name(<參數1,...>) from dual;

//dual是一個虛擬表,大家記住查詢函數from的就是dual就行


--------------------------好好玩的分割線-------------------------------------

用戶,我們來學習創建用戶,授予權限等操作,因爲懶的打字就截圖自己的筆記,大家淡定



/*要理解用戶,我們先了解一下角色,我們知道每一個用戶都有自己的權限,比如sys權限很高,scott權限就沒有sys高,這就是他們所擁有的權限的不同,比如我們新建一個用戶,他是沒辦法連接數據庫的,我們只有通過grant connect to lisi;給他授予連接數據庫的權限纔可以,但是我們如果一條一條的給用戶授權,就會很繁瑣,所以我們就設置了角色,他是若干條權限的集合,你需要怎樣的權限,直接用角色授權就很準確,很迅速

角色:若干條權限的集合對象

*/


-----------------------------------萌萌噠分割線-------------------------------

觸發器:在很多時候我們不止創建一個表,而且每個表都相關聯,這個時候如果你想改一個數據,有時候他會提示錯誤:違反外鍵約束。也就是說這個表的數據其他表也引用了,要改這個表其他表也必須改,所以觸發器就理所當然的誕生了!


語法:



例子:


/*就是我們在運行更新語句的時候,觸發器連帶它的外鍵也一起修改了,這樣就不會報違反外鍵約束的錯誤,當然你要想多寫幾條語句也是可以的*/


.這是我第一次寫這種文章,不到之處還望大家見諒,希望和大家一起進步,學習






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章