一、条件分支语句:
--1. if..else 条件判断
declare v_comm emp.comm%type; v_empno emp.empno%type := &no; begin select comm into v_comm from emp where empno = v_empno; if v_comm < 500 then update emp set comm = comm + 500 where empno = v_empno; elsif v_comm >= 500 and v_comm < 1000 then update emp set comm = comm + 300 where empno = v_empno; else update emp set comm = comm + 100 where empno = v_empno; end if; end; /
--2. case匹配单一值
declare v_deptno emp.deptno%type := &deptno; begin case v_deptno when 10 then update emp set comm = 1111 where deptno = v_deptno; when 20 then update emp set comm = 2222 where deptno = v_deptno; when 30 then update emp set comm = 3333 where deptno = v_deptno; else dbms_output.put_line('没有该部门...'); end case; end; /
--3. case匹配复杂条件
declare
v_comm emp.comm%type;
v_empno emp.empno%type := &no;
begin
case
when v_comm < 500 then
update emp set comm = comm + 500 where empno = v_empno;
when v_comm >= 500 and v_comm < 100 then
update emp set comm = comm + 300 where empno = v_empno;
else
update emp set comm = comm + 100 where empno = v_empno;
end case;
end;
/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二、循环语句:
--1.基本循环 loop
declare v_i int := 1; begin loop insert into temp values(v_i); exit when v_i=10; v_i := v_i+1; end loop; end; /
--2.while循环
declare
i int := 1;
begin
while i < 10 loop
dbms_output.put_line('i: ' || i);
i := i+1;
end loop;
end;
/
--3.for循环
begin
for i in 1..10 loop
dbms_output.put_line('i: ' || i );
end loop;
end;
/
--4.for循环 加入reverse关键字 表示反向开始
begin
for i reverse in 1..10 loop
dbms_output.put_line('i: ' || i );
end loop;
end;
/
--5.嵌套循环和标号
declare
v_result int;
begin
<<outer1>>
for i in 1..10 loop
<<inter1>>
for j in 1..10 loop
v_result := i*j;
exit outer1 when v_result = 100;
exit when v_result = 50;
end loop inter1;
dbms_output.put_line(v_result);
end loop outer1;
dbms_output.put_line(v_result);
end;
/
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、顺序控制语句:
--1.GOTO
declare
i int := 1;
begin
loop
insert into temp values(i);
if i=10 then
goto end_loop;
end if;
i := i + 1;
end loop;
<<end_loop>>
dbms_output.put_line('循环结束');
end;
/
--2.null
declare
v_sal emp.sal%type;
begin
select sal into v_sal from emp where empno = &no1;
if v_sal > 300 then
update emp set sal = 1000 where empno = &no2;
else
null;
end if;
end;
/
发表评论
-
oracle索引小结
2011-02-24 17:11 650一, oracle的索引 ... -
Oracle数据导入导出imp/exp命令使用
2011-02-23 10:50 790Oracle数据导入导出imp/exp就相当于oracle数据 ... -
PL/SQL复习十四 动态SQL
2011-02-17 01:12 711使用execute immediate处理DDL操作: ... -
PL/SQL复习十三 触发器
2011-02-17 01:12 752注意:1、触发器的大小不能超过32K,如果确实需要建立触 ... -
PL/SQL复习十二 包
2011-02-17 01:11 660--建立包规范 create or replace p ... -
PL/SQL复习十一 管理子程序
2011-02-17 01:11 738查询用户对象: SQL> select * fr ... -
PL/SQL复习十 函数
2011-02-17 01:10 805不带任何参数的函数 ... -
PL/SQL复习九 存储过程
2011-02-17 01:10 837无参数的存储过程: create or replace ... -
PL/SQL复习八 异常
2011-02-17 01:09 797异常分类: 1. 预定义异常: 处理常见的oracle ... -
PL/SQL复习七 游标
2011-02-17 01:09 791游标: 指向结果集的指针,他提供一种机制,可以对结果集进 ... -
PL/SQL复习六 批量绑定
2011-02-17 01:08 827一、效率比较 1.不适用批量: declare ... -
PL/SQL复习五 集合方法
2011-02-17 01:07 8251.exists:判断某集合元素是否存在 declar ... -
PL/SQL复习四 复合数据类型
2011-02-17 01:05 708一、PL/SQL记录 1.简单使用: declare ... -
PL/SQL复习二 定义变量
2011-02-17 00:55 905oracle中的变量: 1、标量类型:单个数据、单行单 ... -
PL/SQL复习一 标识符命名规则
2011-02-17 00:53 1568变量 :v_作为前缀 例如:v_sal, v_job ...
相关推荐
- **PL/SQL**:过程化SQL(Procedural Language for SQL),是Oracle专有的扩展语言,它结合了SQL和传统的程序设计语言的功能。 - **变量声明**:在PL/SQL块中声明变量,可以使用不同的数据类型,如VARCHAR2、NUMBER等...
它是SQL的扩展,提供了更高级别的控制结构和流程逻辑,使得数据库管理与应用程序开发更加灵活和强大。 PL/SQL的基础知识主要包括以下几个方面: 1. **变量声明**:在PL/SQL中,我们可以声明各种数据类型的变量,如...
PL/SQL程序由声明、执行和异常处理三部分组成。声明部分定义变量、游标和数据类型;执行部分是程序的主要逻辑;异常处理部分则用于捕获并处理可能出现的错误。 2. 记录类型: 记录类型允许我们创建自定义的数据结构...
执行部分包含SQL语句和PL/SQL控制结构,如循环、条件判断等;异常处理部分用于捕获和处理运行时可能出现的错误。 在PL/SQL中,你可以编写存储过程、函数、触发器、游标等,这些都是数据库级别的程序单元,可以直接...
1Z0-007是Oracle Certified Associate, Oracle Database 12c Administrator Certified Professional的考试代码,这个文档可能是针对该考试的复习笔记或学习指南,包含PL/SQL部分的要点,如数据类型、子程序...
* 在 PL/SQL 语句块中,跳出循环体所用的语句是 EXIT。 数据库启动和关闭 * 数据库启动过程中,会在实例启动时读取参数文件。 * 数据库关闭时,首先需要卸载数据库。 * 数据库启动时,会读取控制文件。 数据库...
通过这些复习材料,我们可以深入理解PL/SQL中的循环控制和异常处理机制,这对于任何希望在Oracle数据库环境中进行编程的人来说都是至关重要的知识。掌握这些技能将使你能够编写出健壮且具有错误处理能力的数据库程序...
- **函数**是在Oracle数据库中存储的已命名的PL/SQL程序块,可以带有参数,并且能够返回值。 - 创建函数时可以指定参数类型,包括数据库类型和PL/SQL类型。 #### 函数参数 1. **选项A**:此说法错误,函数不仅可以...
Oracle开发不仅涉及到SQL语言的使用,还包括PL/SQL编程、数据库设计、性能优化等多个方面。1000.jpg可能是一张包含关键概念或流程图的图片,用于辅助理解复杂的Oracle架构或操作步骤。新建 Microsoft PowerPoint ...
PL/SQL SQL语言复习笔记 PL/SQL 是一种 procedural language,用于处理和操作数据库中的数据。它是 Structured Query Language(SQL)的扩展,提供了更多的编程功能和控制能力。 SQL 语言的发展 SQL 语言的发展...
C++预处理器指令是一种特殊的语句,它们在编译器实际执行编译过程之前被预处理器处理。这些指令主要用于宏定义、文件包含、条件编译等操作,帮助开发者在编译前对源代码进行修改或定制。预处理器指令以`#`字符开头,...
- 控制流语句:如IF-THEN-ELSE、CASE、FOR循环等,用于控制程序流程。例如: ```sql IF 条件 THEN 执行语句; ELSE 执行语句; END IF; ``` - 子程序:包括函数和过程,可以封装和重用代码。例如定义一个...
这篇文档"良心出品oracle数据库期末复习.doc"涵盖了Oracle数据库的基础知识,包括数据文件、日志文件、控制文件等数据库组件,以及数据库操作、表空间管理、用户权限、SQL语句和PL/SQL编程等内容。 一、Oracle...
oracle PL/sql语言复习资料,很全的oracle函数,sql语句,以及游标,存储过程,触发器等复习资料.
Oracle数据库是企业级的关系...以上内容详尽地阐述了Oracle数据库的一些基础知识点,包括数据库组件、SQL语句、数据类型、权限管理以及PL/SQL编程中的基本操作。这些都是学习和使用Oracle数据库时必须掌握的基础知识。
这篇“Oracle常用SQL语句复习”涵盖了在Oracle环境中经常使用的一些核心SQL语句,这对于数据库管理员和开发人员来说至关重要。 1. **数据查询**:在Oracle中,`SELECT`语句是最基础的查询工具。例如,`SELECT ...
同时,掌握PL/SQL的程序结构和流程控制,如IF-THEN-ELSE、WHILE循环和CASE语句,对于编写复杂的数据库逻辑至关重要。 网页设计方面,WEB标签可能指的是HTML、CSS和JavaScript这三大基础技术。HTML(HyperText ...