作爲一個大三的學生,剛剛學完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;給他授予連接數據庫的權限纔可以,但是我們如果一條一條的給用戶授權,就會很繁瑣,所以我們就設置了角色,他是若干條權限的集合,你需要怎樣的權限,直接用角色授權就很準確,很迅速
角色:若干條權限的集合對象
*/
-----------------------------------萌萌噠分割線-------------------------------
觸發器:在很多時候我們不止創建一個表,而且每個表都相關聯,這個時候如果你想改一個數據,有時候他會提示錯誤:違反外鍵約束。也就是說這個表的數據其他表也引用了,要改這個表其他表也必須改,所以觸發器就理所當然的誕生了!
語法:
例子:
/*就是我們在運行更新語句的時候,觸發器連帶它的外鍵也一起修改了,這樣就不會報違反外鍵約束的錯誤,當然你要想多寫幾條語句也是可以的*/
.這是我第一次寫這種文章,不到之處還望大家見諒,希望和大家一起進步,學習