Oracle 存储过程基础介绍

概述

前面已经对存储过程、函数、包做了个介绍,但是毕竟是写成了一篇,所以没那么细,今天单独介绍一下存储过程基础方面,后面再说遍历什么游标啊,数组啊~


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;
Oracle 存储过程基础介绍


对于某个用户添加年龄

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);

结果:

Oracle 存储过程基础介绍


IF判断

Oracle 存储过程基础介绍

调用:

set serveroutput on; --没这句话,看不到dmbs_output信息。
declare
num number;
begin
num:= -1;
test(num);
dbms_output.put_line( 'num = ' || num );
end;

输出:

Oracle 存储过程基础介绍


For循环、

Oracle 存储过程基础介绍

输出:

Oracle 存储过程基础介绍


While 循环

Oracle 存储过程基础介绍

调用:

Oracle 存储过程基础介绍

输出:

Oracle 存储过程基础介绍


篇幅有限,关于存储过程基础部分就介绍到这了,大家有空可以测试一下,这里有些不放代码是因为大家如果真想练习的话最好是手敲好一点,加深印象。

后面会分享更多DBA方面内容,感兴趣的朋友可以关注下!

Oracle 存储过程基础介绍


分享到:


相關文章: