一、条件语句
SQL> declare
2 v_eno empl.eno%type:=&empno;
3 v_sal empl.sal%type;
4 v_comment varchar2(25);
5 begin
6 select sal into v_sal from empl where eno=v_eno;
7 if v_sal<1500 then
8 v_comment:='Fairly less';
9 elsif v_sal<3000 then
10 v_comment:='A little more';
11 else
12 v_comment:='Lots of salary';
13 end if;
14 dbms_output.put_line(v_comment);
15 end;
16 /
输入 empno 的值: 1001
原值 2: v_eno empl.eno%type:=&empno;
新值 2: v_eno empl.eno%type:=1001;
Lots of salary
二、case表达式
SQL> declare
2 v_grade char(1):=upper('&p_grade');
3 v_appraisal varchar2(20);
4 begin
5 v_appraisal:=
6 case v_grade
7 when 'A' then 'excellent'
8 when 'B' then 'very good'
9 when 'C' then 'good'
10 else 'no such grade'
11 end;
12 dbms_output.put_line('grade:'||v_grade||',appraisal:'||v_appraisal);
13 end;
14 /
输入 p_grade 的值: a
原值 2: v_grade char(1):=upper('&p_grade');
新值 2: v_grade char(1):=upper('a');
grade:A,appraisal:excellent
三、循环
1、loop循环
SQL> declare
2 int number(2):=0;
3 begin
4 loop
5 int:=int+1;
6 dbms_output.put_line('int的当前值为:'||int);
7 exit when int=10;
8 end loop;
9 end;
10 /
int的当前值为:1
int的当前值为:2
int的当前值为:3
int的当前值为:4
int的当前值为:5
int的当前值为:6
int的当前值为:7
int的当前值为:8
int的当前值为:9
int的当前值为:10
2、while循环
SQL> declare
2 int number;
3 begin
4 int:=1;
5 while int<=10 loop
6 dbms_output.put_line('int的当前值为:'||int);
7 int:=int+1;
8 end loop;
9 end;
10 /
int的当前值为:1
int的当前值为:2
int的当前值为:3
int的当前值为:4
int的当前值为:5
int的当前值为:6
int的当前值为:7
int的当前值为:8
int的当前值为:9
int的当前值为:10
3、数字式循环
SQL> declare
2 int number;
3 begin
4 for int in 1..10 loop
5 dbms_output.put_line('int的当前值为:'||int);
6 end loop;
7 end;
8 /
int的当前值为:1
int的当前值为:2
int的当前值为:3
int的当前值为:4
int的当前值为:5
int的当前值为:6
int的当前值为:7
int的当前值为:8
int的当前值为:9
int的当前值为:10
四、goto
SQL> declare
2 v_counter number:=1;
3 begin
4 loop
5 dbms_output.put_line('v_counter的当前值为:'||v_counter);
6 v_counter:=v_counter+1;
7 if v_counter>10 then
8 goto l_endofloop;
9 end if;
10 end loop;
11 <<l_endofloop>>
12 dbms_output.put_line('v_counter的当前值为:'||v_counter);
13 end;
14 /
v_counter的当前值为:1
v_counter的当前值为:2
v_counter的当前值为:3
v_counter的当前值为:4
v_counter的当前值为:5
v_counter的当前值为:6
v_counter的当前值为:7
v_counter的当前值为:8
v_counter的当前值为:9
v_counter的当前值为:10
v_counter的当前值为:11
分享到:
相关推荐
oracle笔记pl/sql流程控制,有具体的代码案例,流程控制的知识点笔记!
PL/SQL 程序设计 本章主要重点: PL/SQL概述 PL/SQL块结构 PL/SQL流程 运算符和表达式 游标 异常处理 数据库存储过程和函数 包 触发器
PL/SQL流程 运算符和表达式 游标 异常处理 数据库存储过程和函数 包 触发器 §1.2 SQL与PL/SQL §1.2.1 什么是PL/SQL? PL/SQL是 Procedure Language & Structured Query Language 的缩写。ORACLE的SQL是支持ANSI...
SQL: 结构化查询语言(Structured Query ...PL/SQL: Oracle 扩展的SQL语言,具有完整的流程控制定义。 SQL*Plus: Oracle 常用的工具,用来识别SQL语言和编写、执行PL/SQL代码,它与Oracle 数据库管理系统紧密结合。
PL/SQL的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、 C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL...
详细介绍了PL/SQL编程基础,比如事务控制命令、PL/SQL流程控制,PL/SQL的异常处理,游标的使用,PL、SQL编程对象等。
PL/SQL语言的简介 程序结构 流程控制 异常处理 过程与函数 游标 程序包 触发器
oracle plsql语言 第一节 PL/SQL块的组成 第二节 事务控制命令 第三节 PL/SQL流程控制 第四节 游标的使用 第五节 PL/SQL的异常处理 第六节 PL/SQL示例 第七节 PL/SQL编程对象
走进Oracle、认识PL/SQL、数据表的基本操作、表中数据的基本操作、数据的基本查询、查询中函数的使用、数据表的高级查询、索引及视图的使用、数据类型、流程控制、游标、存储过程和函数、触发器、异常处理、事务和锁...
PL/SQL(Procedural Language/SQL): 在SQL的基础上,增加了过程化处理. 比如sql*plus, developer 6i 和标准的SQL相比,PL/SQL有自己特有的一些特性 变量定义 流程结构控制 对象类型 存储过程和函数
结构化查询语言(Structured Query Language,简称...PL/SQL 的出现正是为了解决这一问题,PL/SQL 是一种过程化语言,属于第三代语言,它与 C,C++,Java 等语言一样关注于处理细节,因此可以用来实现比较复杂的业务逻辑。
SQL与编程语言之间的不同...而PL/SQL是结构化的和过程化的结合体,而且最为重要的是,在用户执行多条SQL语句时,每条SQL语句都是逐一的发送给数据库,而PL/SQL可以一次性将多条SQL语句一起发送给数据库,减少网络流量
第一节 程序块结构语言PL/SQL的组成 定义部分 定义部分 定义部分 定义部分 可执行部分 可执行部分 可执行部分: SQL语句 第二节 事务控制命令 事务提交(COMMIT) ...第三节 PL/SQL的流程控制 条件控制
PL-SQL语法及游标等的简单介绍 第一节 PL/SQL块的组成 第二节 事务控制命令 第三节 PL/SQL流程控制 第四节 游标的使用 第五节 PL/SQL的异常处理 第六节 PL/SQL示例 第七节 PL/SQL编程对象
PL/SQL 报表的开发流程及html 格式的输出方法。 简单的实例,估计大家都能看懂的。
介绍PL/SQL程式結構 常用資料型態及變數宣告 指定變數值與變數初始化 SELECT...INTO... 運算 常用的 Oracle Build-in Function 流程控制結構 迴圈
本⽂⽬录: 1. PL/SQL 程序设计简介 2. PL/SQL块结构和组成元素 3. PL/SQL流程控制语句 4. 把游标说透 5. 异常错误处理 6. 把过程与函数说透 7. 程序包的创建与应⽤ 8. 把触发器说透
PL/SQL块的组成介绍;事务控制命令;PL/SQL流程控制;游标的使用;PL/SQL的异常处理;;PL/SQL示例;PL/SQL编程对象