oracle 之if..else用法

简介: oracle条件分支用法a.if...thenb.if...then... elsec.if...then... elsif.... else 实例 1问题:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。

oracle条件分支用法


a.if...then


b.if...then... else


c.if...then... elsif.... else

实例 1


问题:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%
create or replace procedure sp_pro6(spName varchar2) is v_sal emp_copy.sal%type;

begin

select sal into v_sal from emp_copy where ename=spName;

if v_sal<2000 then

updateemp_copy set sal=sal*1.1 where ename=spName;

end if;

end;

实例 2


问题:编写一个过程,可以输入一个雇员名,如果该雇员的补助不是0就在原来的基础上增加100;如果补助为0就把补助设为200

create or replace procedure sp_pro6(spName varchar2) is

v_comm emp_copy.comm%type;

begin

select comm into v_comm from emp_copy where ename=spName;

if v_comm<>0 then

updateemp_copy set comm=comm+100 where ename=spName;

else

updateemp_copy set comm=comm+200 where ename=spName;

end if;

end;

实例 3

多重条件分支
if
then
elsif then.


问题:编写一个过程,可以输入一个雇员编号,如果该雇员的职位是PRESIDENT


给他的工资增加1000,如果该雇员的职位是MANAGER就给他的工资增加500,其它


职位的雇员工资增加200


create or replace procedure sp_pro6(spNo number) is

v_job emp_copy.job%type;

begin

select job into v_job from emp_copy where empno=spNo;

if v_job='PRESIDENT'
then

updateemp_copy set sal=sal+1000 where empno=spNo;

elsif v_job='MANAGER'
then

updateemp_copy set sal=sal+500 where empno=spNo;

else

updateemp_copy set sal=sal+200 where empno=spNo;

end if;

end;

目录
相关文章
|
Oracle 关系型数据库 数据库
Oracle中merge Into的用法
Oracle中merge Into的用法
|
6月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
6月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(上)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法
|
11月前
|
SQL 存储 Oracle
Oracle用法
【10月更文挑战第15天】Oracle用法
140 5
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
Oracle 关系型数据库
Oracle中decode 以及ROW_NUMBER() OVER() 函数等其它相关函数用法
Oracle中decode 以及ROW_NUMBER() OVER() 函数等其它相关函数用法
305 0
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(下)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法
|
SQL Oracle 关系型数据库
Oracle 中 Translate的用法
Oracle 中 Translate的用法
212 0