概述
前面已经对存储过程、函数、包做了个介绍,但是毕竟是写成了一篇,所以没那么细,今天单独介绍一下存储过程基础方面,后面再说遍历什么游标啊,数组啊~
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方面内容,感兴趣的朋友可以关注下!
閱讀更多 波波說運維 的文章