概述
前面已經對存儲過程、函數、包做了個介紹,但是畢竟是寫成了一篇,所以沒那麼細,今天單獨介紹一下存儲過程基礎方面,後面再說遍歷什麼遊標啊,數組啊~
1、語法
CREATE [OR REPLACE] PROCEDURE procedure_name
[ (parameter [,parameter]) ]
IS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [procedure_name];
Oracle存儲過程包含三部分:過程聲明,執行過程部分,存儲過程異常。
這裡做個簡單瞭解就行,主要還是通過實例來理解。
2、環境準備
準備測試數據
create table students
(
ID int,
userName varchar(100),
userPass varchar(100),
userAge int
)
insert into students values(1,'jack','jjjaa',23);
insert into students values(2,'rose','jjjaa',21);
insert into students values(3,'lucy','jjjaa',22);
insert into students values(4,'Tony','jjjaa',24);
commit;
對於某個用戶添加年齡
create or replace procedure SP_Update_Age
(
uName in varchar,
Age in int
)
as
begin
update students set UserAge = UserAge + Age where userName = uName;
commit;
end SP_Update_Age;
執行如下:exec SP_UPDATE_AGE('jack',1);
結果:
IF判斷
調用:
set serveroutput on; --沒這句話,看不到dmbs_output信息。
declare
num number;
begin
num:= -1;
test(num);
dbms_output.put_line( 'num = ' || num );
end;
輸出:
For循環、
輸出:
While 循環
調用:
輸出:
篇幅有限,關於存儲過程基礎部分就介紹到這了,大家有空可以測試一下,這裡有些不放代碼是因為大家如果真想練習的話最好是手敲好一點,加深印象。
後面會分享更多DBA方面內容,感興趣的朋友可以關注下!
閱讀更多 波波說運維 的文章