介绍
在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句、循环语句、顺序控制结构...)在pl/sql中也存在这样的控制结构。
1.条件分支语句
pl/sql中提供了三种条件分支语句:if-then,if-then-else,if-then-elsif-else
简单的条件判断if-then
?编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该雇员工资增加10%
--输入一个雇员名,如果该雇员的工资低于2000,就给该雇员工资增加10%
create or replace procedure sun_pro6(sunName varchar2) is
--定义工资变量
v_sal emp.sal%type;
begin
--执行部分
select sal into v_sal from kkkk where ename=sunName;
--判断
if v_sal<2000 then
update kkkk set sal=sal*1.1 where ename=sunName;
end if;
end;
2.二重条件分支 if-then-else
?编写一个过程,可以输入一个雇员名,如果该雇员的补助不是0就在原来的基础上增加100;如果补助为0就把补助设为200;
--可以输入一个雇员名,如果该雇员的补助不是0就在原来的基础上增加100
;如果补助为0就把补助设为200;
create procedure sun_pro7(sunName varchar2) is
--定义
v_comm emp.comm%type;
begin
--执行
select comm into v_comm from kkkk where ename=sunName;
--判断补助是否为0
if v_comm<>0 then
update kkkk set comm=comm+100 where ename=sunName;
else
update kkkk set comm=comm+200 where ename=sunName;
end if;
end;
需要注意的是<>0代表的就是不等于0
3.多重条件分支 if-then-elsif-else
?编写一个过程,可以输入一个雇员编号,如果该雇员的职位是PRESIDENT就给他的工资增加1000,如果该雇员的职位是MANAGER就给他的工资增加500,其它职位的雇员工资增加200
SQL> --输入一个雇员编号,如果该雇员的职位是PRESIDENT就给他的工资增加1000,如果该雇员的职位是MANAGER就给他的工资增加500,其它职位的雇员工资增加200
SQL> create or replace procedure sun_pro8(sunNo number) is
2 --定义
3 v_job emp.job%type;
4 begin
5 --执行
6 select job into v_job from kkkk where empno=sunNo;
7 --判断职位
8 if v_job='PRESIDENT' then
9 update kkkk set sal=sal+1000 where empno=sunNo;
10 elsif v_job='MANAGER' then
11 update kkkk set sal=sal+500 where empno=sunNo;
12 else
13 update kkkk set sal=sal+200 where empno=sunNo;
14 end if;
15 end;
16 /
Procedure creatednd;
注意:elsif这个是pl/sql里的特殊写法,不是书写错误。
相关推荐
在Oracle数据库的管理中,了解和分析数据块结构,能够帮助DBA进行更加精确的故障诊断与性能调优。通过分析数据块的头部信息,可以检查数据的完整性,监控事务日志的使用情况,以及对损坏数据块进行修复。因此,对...
在日常管理和开发过程中,有时我们需要将Oracle数据库的表结构导出为其他格式,便于分析、备份或共享。"Oracle数据库表结构导出工具"就是为此目的设计的实用程序,它能够方便地将表结构转换成易于查看和处理的Excel...
本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数,并生成对应的MySQL创建表语句(DDL)。 #### 参数...
Oracle数据库的内存结构是其高效运行的关键组成部分,主要分为系统全局区(SGA)、程序全局区(PGA)、排序区、大池和Java池。本文将重点讨论SGA,它是Oracle数据库中最为重要的共享内存区域。 系统全局区(SGA)是...
在Oracle数据库中,进行树状结构查询是一种常见且强大的功能,尤其当数据具有层次或层级关系时,如组织架构、产品分类、文件系统等。本文将深入探讨如何在Oracle中执行树状结构查询,理解其背后的逻辑,以及如何利用...
在Oracle数据库中,计算连续天数或连续时间是一项常见的需求,尤其在数据分析、报表生成或者业务规则检查等场景。这个任务通常涉及到日期处理和逻辑判断,Oracle提供了丰富的日期函数和运算符来支持这类操作。本篇...
在Oracle数据库中,判断表名是否存在是常见的数据库管理任务,这通常涉及到SQL查询或使用数据库的系统视图。本文将详细介绍如何在Oracle中检查特定表是否存在于数据库中,并结合Spring框架,尤其是Spring Security的...
在本资源中,我们将讨论如何使用 Java 语言导出 Oracle 数据库中的单表数据。该资源提供了一个完整的示例代码,展示了如何使用 Java 语言连接 Oracle 数据库,执行导出操作,并处理可能出现的错误。 知识点 1:Java...
总结来说,Oracle数据库复习题中涉及的知识点主要围绕数据库规范化理论、数据类型、文件结构、系统标识符、安装类型、SQL语言以及SQL*Plus使用等基础知识点。掌握这些内容对于理解和应用Oracle数据库至关重要。通过...
### Oracle中比对两张表之间数据是否一致的几种方法 #### 概述 在Oracle数据库管理中,确保数据的一致性和准确性是非常重要的任务之一。在实际应用中,可能需要经常对比两个表之间的数据是否一致,这有助于发现并...
在Oracle E-Business Suite (EBS)中,Bill of Materials (BOM) 是一个非常重要的概念,它用于描述产品组件的结构以及制造过程中的各种细节。下面我们将详细介绍几个与BOM相关的表及其字段含义。 ##### 1. BOM 主表 ...
1. 数据库架构:介绍Oracle数据库的物理和逻辑结构,如表空间、数据文件、控制文件、重做日志等。 2. SQL语法:详细解析SQL DDL(数据定义语言)、DML(数据操纵语言)、DDL(数据控制语言)及查询优化。 3. PL/SQL...
Oracle数据库的逻辑结构包括表空间、段、区和数据块,其中表空间是数据库中的一个逻辑存储单元,段是表空间中分配的逻辑存储区域,区是段中分配的一系列连续的数据块,数据块是Oracle数据库中最小的存储单位。...
在IT领域,尤其是在数据库管理和软件开发中,对数据进行格式化处理是一项常见且重要的任务。...这对于财务系统中的报表生成、数据展示等场景具有重要意义,同时也展示了Oracle数据库在复杂数据处理方面的强大能力。
Oracle中的PL/SQL是一种强大的编程语言,用于在Oracle数据库中编写存储过程、函数和其他数据库管理任务。它结合了SQL查询语言的功能,并增加了控制结构,如条件判断和循环,以实现更复杂的逻辑。PL/SQL的基本控制...
通过执行计划,可以理解查询的逻辑流程,判断是否需要添加索引或调整查询结构来提升性能。 3. **资源消耗统计**:Statement Tracer可以详细统计每个SQL语句的CPU时间、I/O次数、内存使用等资源消耗,这对于定位高...
1.2 ORACLE系统结构 4 1.2.2 ORACLE物理结构 4 1.2.3 系统全局区 6 1.2.4 进程 8 1.3 存储管理 9 1.3.2 逻辑结构 10 1.3.3 表(Table) 14 1.3.4 视图(View) 18 1.3.5 索引(Index) 18 1.3.6 同义词(Synonym) ...
总的来说,Oracle物理结构故障的处理需要数据库管理员具备深厚的理论知识和实践经验,能够快速准确地判断问题,采取合适的恢复策略。在日常运维中,预防措施和充足的准备是降低故障风险的关键。通过定期备份、监控...
### 浅谈Oracle中重建索引 #### 一、索引的基本概念与作用 在数据库管理系统(DBMS)中,索引是一种特殊的数据结构,它能够加速数据检索的速度。Oracle数据库同样提供了强大的索引功能来优化查询性能。索引通过在...