我是靠谱客的博主 虚幻大侠,最近开发中收集的这篇文章主要介绍oracle存储过程全攻略,Oracle存储过程Procedure简单介绍(第三部分),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们在上面章节里面介绍了存储过程的绝大部分内容,但是没有介绍存储过程的核心:控制和循环语句

1、控制结构

if-then

if-then-else

if-then-elsif-else

主要就这三种控制结构

下面举个例子说明一下:

create or replace procedure mypro(spNo number) is

v_job emp.job%type;

begin

select job into v_job from emp where empno = spNo;

if v_job = 'PRESIDENT' then

update emp set sal = sal + 1000 where empno = spNo;

elsif v_job = 'MANAGER' then

update emp set sal = sal + 500 where empno = spNo;

else

update emp set sal = sal + 200 where empno = spNo;

end if;

end;

/

执行

begin

-- Call the procedure

mypro(49);

end;

2、循环语句

pl/sql主要的循环语句就下面这五种:

loop-end loop

exit when

while

for(普通循环)

for(游标循环)

下面逐一进行举例:

a、loop循环

create or replace procedure proc_loop is

i number;

begin

i := 0;

loop

i:=i+1;

dbms_output.put_line(i);

if i > 5 then

exit;

end if;

end loop;

end;

b、exit when循环

create or replace procedure proc_exit is

i number;

begin

i := 0;

loop

exit when(i>5);

dbms_output.put_line(i);

i := i+1;

end loop;

end;

c、while循环

create or replace procedure proc_while is

i number;

begin

i := 0;

while i<5 loop

i:=i+1;

dbms_output.put_line(i);

end loop;

end;

d、for普通循环

create or replace procedure proc_for is

i number;

begin

i := 0;

for i in 1 .. 5 loop

dbms_output.put_line(i);

end loop;

end;

e、for游标循环

create or replace procedure proc_for_cursor is

userRow emp%Rowtype;

cursor userRows is

select * from emp;

begin

for userRow in userRows loop

dbms_output.put_line(userRow.empno || ' , ' || userRow.ename || ' , ');

end loop;

end;

这章的内容粗略的给大家介绍了pl/sql的控制和循环语句的用法。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31358702/viewspace-2154095/,如需转载,请注明出处,否则将追究法律责任。

最后

以上就是虚幻大侠为你收集整理的oracle存储过程全攻略,Oracle存储过程Procedure简单介绍(第三部分)的全部内容,希望文章能够帮你解决oracle存储过程全攻略,Oracle存储过程Procedure简单介绍(第三部分)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部