oracle的控制结构
2013-06-13 20:23
357 查看
控制结构
条件分支语句
if-then
create or replace procedure sp_pro(spName varchar2 ) is
--定义
v_sal emp.sal%type;
begin
select sal into v_sal from emp where ename=spName;
if v_sal<2000 then
update emp set sal=sal*1.1 where ename=spName;
end if;
end;
执行 exec sp_pro('SCOTT');
if-elsif-else
create or replace procedure sp_pro1(spNo number) is
v_job emp.job%type;
begin
select job into v_job from emp where empno=spNo;
if v_job='PREDIENT' 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;
执行 exec sp_pro1(7788);
循环语句--loop
是pl/sql里最简单的循环语句,以loop开头,以end loop结尾,这种循环至少执行一次
编写一个过程,可以输入姓名,并循环添加十个用户到user表中,用户编号从1开始自增
create or replace procedure sp_pro5(name varchar2,password varchar2) is
v_num number:=1;
begin
loop
insert into users values(v_num,name,password);
exit when v_num=10;
v_num:=v_num+1;
end loop;
end;
执行 exex sp_pro5('haha','haha');
循环语句--while
create or replace procedure sp_pro5(name varchar2,password varchar2) is
v_num number:=11;
begin
while v_num<=20 loop
insert into users values(v_num,name,password);
v_num:=v_num+1;
end loop;
end;
顺序控制语句
goto 一般不建议使用
null语句不会执行任何操作,并且会直接将控制直接传到下一条语句,使用null的主要好处是可以提高pl/sql程序的可读性
条件分支语句
if-then
create or replace procedure sp_pro(spName varchar2 ) is
--定义
v_sal emp.sal%type;
begin
select sal into v_sal from emp where ename=spName;
if v_sal<2000 then
update emp set sal=sal*1.1 where ename=spName;
end if;
end;
执行 exec sp_pro('SCOTT');
if-elsif-else
create or replace procedure sp_pro1(spNo number) is
v_job emp.job%type;
begin
select job into v_job from emp where empno=spNo;
if v_job='PREDIENT' 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;
执行 exec sp_pro1(7788);
循环语句--loop
是pl/sql里最简单的循环语句,以loop开头,以end loop结尾,这种循环至少执行一次
编写一个过程,可以输入姓名,并循环添加十个用户到user表中,用户编号从1开始自增
create or replace procedure sp_pro5(name varchar2,password varchar2) is
v_num number:=1;
begin
loop
insert into users values(v_num,name,password);
exit when v_num=10;
v_num:=v_num+1;
end loop;
end;
执行 exex sp_pro5('haha','haha');
循环语句--while
create or replace procedure sp_pro5(name varchar2,password varchar2) is
v_num number:=11;
begin
while v_num<=20 loop
insert into users values(v_num,name,password);
v_num:=v_num+1;
end loop;
end;
顺序控制语句
goto 一般不建议使用
null语句不会执行任何操作,并且会直接将控制直接传到下一条语句,使用null的主要好处是可以提高pl/sql程序的可读性
相关文章推荐
- OraclePL/SQL流程控制结构
- Oracle--plsql之控制结构
- Oracle控制结构详解
- Oracle学习之三 程序控制结构
- Oracle(22)pl/sql编程 控制结构语句
- Oracle 程序控制结构
- oracle PL/SQL的基本构成,结构控制语句,分支结构,选择结构,loop循环结构,
- ORACLE PL/SQL 结构控制
- Oracle pl/sql的进阶--控制结构(分支,循环,控制)
- oracle 的控制结构
- oracle物理结构(一)--控制文件
- oracle 控制结构
- 面向大型站点的 Oracle 企业管理器网格控制体系结构
- Oracle PLSQL 学习笔记(块、控制结构、过程、函数、包)
- Oracle 学习:PL/SQL循序渐进全面学习教程--课程十二 编写控制结构语句
- oracle PL/SQL(procedure language/SQL)程序设计--控制结构(if else )
- Oracle之控制结构
- JAVA_WEB Oracle 10g学习: PL/SQL的控制结构
- Oracle PLSQL 学习笔记(块、控制结构、过程、函数、包)
- Oracle学习之三 程序控制结构