【ORACLE+PLSQL學習筆記#6】PLSQL+存儲函數+存儲過程+觸發器

**

PLSQL

常見寫法:select into語句可以在PLSQL中引入表數據,賦值給當前plsql聲明的變量。

變量類型
屬性類型可以在不知道數據類型的情況下,自動引入表中數據的類型:
屬性引用類型:
表名.數據列名%type

屬性行記錄類型,記錄結果集一整行信息的行單位:
行變量 表名%rowtype
**
異常處理
**
PLSQL也有類似於Java的異常處理,當數據操作不合法時及時暫停程序避免崩潰。以下僅從無該數據、返回多條數據兩種預定義異常爲例。
返回多條數據:
在這裏插入圖片描述

無該數據:在這裏插入圖片描述
在這裏插入圖片描述
如果忘記在異常裏面寫邏輯也會報錯:
在這裏插入圖片描述
條件判斷
在這裏插入圖片描述
循環
plsql循環語句有純loop循環和混合了for、loop關鍵字的for循環,while和exit關鍵字分別指示’當‘和’退出‘。
在這裏插入圖片描述
循環數據溢出會報錯:
在這裏插入圖片描述
遊標
select into只能做到單個數據返回,遊標用法可以彌補其不能返回結果集的缺憾。遊標常用於遍歷結果集,與循環掛鉤。
loop遊標:
在這裏插入圖片描述
for遊標:
在這裏插入圖片描述
相比之下,用法上,loop遊標比for遊標複雜得多,差別在於很多參數設置、綁定操作,for遊標可以自動補全。

存儲函數

存儲函數常常用於SQL語句中,很少作用於應用程序的編寫,被查詢語句調用,達到簡化SQL的目的。
在這裏插入圖片描述

存儲過程

和存儲函數的主要區別:
在這裏插入圖片描述
由於存儲過程無直接返回值,但可以有傳出參數。故可以將存儲過程分爲有無傳出參數兩類。以下是這兩類存儲過程的用法:
無傳出參數的存儲過程
在這裏插入圖片描述
在jdbc上面的應用:
在這裏插入圖片描述
有傳出參數的存儲過程
在這裏插入圖片描述
在jdbc上的應用:
在這裏插入圖片描述

觸發器

前置觸發器可以在事務提交之前更改修改值,是一種事前處理方式,後置觸發器比較聽話不能更改修改值,改什麼就是什麼,是一種事後的處理方式。
前置觸發器可以直接調用並修:new和:old僞列的值,而後置觸發器並不能,只能簡單調用不然報錯。

前置觸發器
在這裏插入圖片描述
後置觸發器
在這裏插入圖片描述

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