Oracle 流程控制语句
分为选择语句循环语句两大类;
一 选择语句
1 if then ...end;
set serveroutput on
declare
var_name1 varchar2(50):='East';
var_name2 varchar2(50):='xiaoke';
begin
if length(var_name1)<length(var_name2) then
dbms_output.put_line('字符串"'||var_name1||'"的长度比"'||var_name2||'"的长度小');
end if;
end;
2 if then ... else ... end;
set serveroutput on ;
declare
var_age int:=55;
begin
if var_age>=56 then
dbms_output.put_line('您可以申请退休了');
else
dbms_output.put_line('您小于56岁,不可以申请退休');
end if;
end;
3 if then ... elsif ... elsif ... elsif ... end;
set serveroutput on
declare
var_month int:=10;
begin
if var_month>=0 and var_month<=3 then
DBMS_OUTPUT.PUT_LINE('这是春季');
elsif var_month>3 and var_month<=6 then
DBMS_OUTPUT.PUT_LINE('这是夏季');
elsif var_month>6 and var_month<=9 then
DBMS_OUTPUT.PUT_LINE('这是秋季');
elsif var_month>9 and var_month<=12 then
DBMS_OUTPUT.PUT_LINE('这是冬季');
else
dbms_output.put_line('您输入的月份不合法!!!');
end if;
end;
4 case .. when .. then ..when .. then .. end;
set serveroutput on
declare
var_season int:=3;
aboutinfo varchar2(50);
begin
case var_season
when 1 then
aboutinfo:=var_season||'季度包括1,2,3月份';
when 2 then
aboutinfo:=var_season||'季度包括4,5,6月份';
when 3 then
aboutinfo:=var_season||'季度包括7,8,9月份';
when 4 then
aboutinfo:=var_season||'季度包括10,11,12月份';
else
aboutinfo:=var_season||'季节不合法';
end case;
DBMS_OUTPUT.PUT_LINE(aboutinfo);
end;
二 循环语句
1 loop.. exit when .. end loop... end;
loop语句会先执行一次循环体,然后再判断 exit when 关键字后面的条件表达式的值是否为true 还是false;如果为true则退出循环体,否则继续执行循环体,使得程序至少能够执行一次循环体;
set SERVEROUTPUT ON
declare
sum_i int:=0;
i int:=0;
begin
loop
i:=i+1;
sum_i:=sum_i+i;
exit when i=100000;
end loop;
DBMS_OUTPUT.PUT_LINE('前100000个自然数的和是'||sum_i);
end;
2 while语句根据条件表达式的值执行零次或者多次循环体。每次执行循环体之前,首先要判断表达式的值是否为true;如果为true则执行循环体;否则退出while循环,继续执行while语句后面的其他代码;
while 条件表达式 loop ... end loop ... end;
set SERVEROUTPUT ON
declare
sum_i int:=0;
i int:=0;
begin
while i<=99 loop
i:=i+1;
sum_i:=sum_i+i;
end loop;
dbms_output.put_line('前100个自然数的和为'||sum_i);
end;
3 for语句 是一个可以预置循环次数的控制语句,有一个循环计数器,通常是一个整形变量,通过这个循环计数器来控制循环的次数。
set SERVEROUTPUT ON
declare
sum_i int:=0;
begin
for i in reverse 1..100 loop
if mod(i,2)=0 then
sum_i:=sum_i+i;
end if;
end loop;
dbms_output.put_line('前100个自然数的偶数和为'||sum_i);
end;
Oracle 流程控制语句的更多相关文章
- Oracle流程控制语句
1.选择语句 1.1 IF...THEN...END IF语句 DECLARE MY_AGE INT; IF MY_AGE IS NULL THEN DBMS_OUTPUT.put_line('AGE ...
- Oracle数据库之PL/SQL流程控制语句
Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...
- [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)
原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ...
- oracle数据库之PL/SQL 流程控制语句
介绍 PL/SQL 的流程控制语句, 包括如下三类: 1.控制语句: IF 语句 2.循环语句: LOOP 语句, EXIT 语句 3.顺序语句: GOTO 语句, NULL 语句 一 条件语句 IF ...
- PL/SQL之--流程控制语句
一.简介 像编程语言一样,oracle PL/SQL也有自己的流程控制语句.通过流程控制语句,我们可以在PL/SQL中实现一下比较复杂的业务逻辑操作.而无需到程序中去控制,在一定程度上提高了效率,这也 ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- 8-04流程控制语句BEGIN ..END
流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...
- JAVA 1.6 流程控制语句
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...
- 20151013 C# 第一篇 流程控制语句
20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){ 语句块:} if(布尔表达式){ 语句块1:}else{ 语句块2:} i ...
随机推荐
- hdoj 2222 Keywords Search 【AC自己主动机 入门题】 【求目标串中出现了几个模式串】
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- Forms authentication timeout vs sessionState timeout
https://stackoverflow.com/questions/17812994/forms-authentication-timeout-vs-sessionstate-timeout Th ...
- window如何在命令行关掉端口
欢迎加入前端交流群来py:749539640 进入cmd netstat -ano | findstr :yourPortNumber taskkill /PID typeyourPIDhere ...
- [luogu P1776] 宝物筛选 解题报告(单调队列优化DP)
题目链接: https://www.luogu.org/problemnew/show/P1776 题目: 终于,破解了千年的难题.小FF找到了王室的宝物室,里面堆满了无数价值连城的宝物……这下小FF ...
- Ubuntu16.04+GTX 1080Ti+CUDA 8.0+cuDNN+Tesnorflow1.0深度学习服务器安装之路
0.安装背景 系统:ubuntu 16.04 内核:4.4.0-140-generic GPU:GTX 1080Ti nvidia驱动版本: 384.111 cuda: CUDA 8.0 深度学习库c ...
- JS循环 for while 全局/局部变量 短路
循环语句: For for循环的格式 for(var i = 0; i < 10; i ++){ } for循环的执行顺序: ① ② 若判断为 true 进④ 进③ 进②判断 ……循环 ...
- Kotlin 中文文档
Kotlin 中文文档 标签: Kotlinkotlin中文文档 2017-02-14 18:14 4673人阅读 评论(0) 收藏 举报 分类: kotlin 转载地址:http://www.tu ...
- 【原创】Spring连接、事务代码分析
1.JdbcTemplate 当不使用事务时,jdbcTemplate的模板类,通过 Connection con = DataSourceUtils.getConnection(ge ...
- layui框架下的摸索与学习
一.table表格内的查询 1.单个条件查询: 主要代码: <%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/1/14 ...
- vuex 基本入门和使用(三)-关于 mutation
vuex 基本入门和使用(三)-关于 mutation vuex 版本为^2.3.1,按照我自己的理解来整理vuex. 关于 mutation 这里应该很好理解. 更改 Vuex 的 store 中的 ...