PLSQL程式設計:procedure Language 過程語言
PLSQL程式設計是Oracle對sql的一個擴充,讓我們可以像在java 中 寫 if else else if ,還可以寫相應的循環邏輯。
文法:
declare
--聲明變量
變量名 變量類型
vsal emp.sal%type; 聲明和emp表裡邊的sal字段一樣類型的變量。
begin
--編寫業務邏輯
end;
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcBnYldHL0FWby9mZvwVPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsAjMfd3bkFGazxCMx8VesATMfhHLlN3XnxCMz8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcuYTMyUDMjJ2MmZjNkJDNzYzX1UDMxIjM5AzLcBTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
循環: while for loop
while 條件 loop
end loop;
for i in 1..10 loop
end loop;
異常:
存儲過程:
實際上是封裝在伺服器上的一段OLSQL代碼片段, 已将編譯好的代碼片段,用戶端調用存儲過程,效率就會非長高效。
文法:create {or replace } procedure 存儲過程的名稱(參數名 in|out 參數類型,參數名 in|out 參數類型);
is|as
聲明部分
begin
業務邏輯部分
end;
下邊定義一個存儲過程個給指定員工漲工資:
調用存儲過程:
存儲函數:
實際上是一段封裝好的在Oracle伺服器上的一段PLSQL代碼片段,它是編譯好的代碼片段。
文法:create {or replace } function 存儲函數的名稱(參數名 參類型數 in|out,參數名 參類型數 in|out) return
is|as
begin
end;
存儲過程和存儲函數的差別,他們本質上沒有差別,存儲函數的存在意義是給存儲過程調用的
觸發器:
當使用者執行了insert update delete 這些操作之後,可以觸發一些其他的作業
文法:create or replace triger 觸發器的名稱
before | after
insert | update |delete
on 表名
declare
degin
end