一、条件控制语句

(1)条件语句I

if…then…end if

形式1:

 if <布尔表达式> then…(pl/sql和sql)…end if;

(2)条件语句II

if…then…else … end if
形式2:

 if <布尔表达式> then…(pl/sql和sql)else…end if;

(3)条件控制语句III

if…then…elsif…then… else … end if
形式3:

 if <布尔表达式1> then…(pl/sql和sql)elsif <布尔表达式2> then…else…end if;

例子:

declaretheGrade number:= 88;
beginif theGrade>=90 thendbms_output.put_line('杰出');elsif theGrade>=80 thendbms_output.put_line('优秀');elsif theGrade>=60 thendbms_output.put_line('合格');elsedbms_output.put_line('不及格');end if;
end; 

二、循环

循环语句分类

(1)简单循环

Loop…(PL/SQl和SQL)End loop;

可通过以下语句强行跳出循环:
1) if <布尔表达式> then exit;

2) exit when <布尔表达式>;

例子:

set serveroutput on;
declarei number(8):=5;
begin<<first_loop>>loopdbms_output.put_line('i = '||i);i:= i-1;exit first_loop when i = 0;end loop;dbms_output.put_line('LOOP循环已经结束!');
end;

(2)For循环

For n in num1..num2 Loop… (PL/SQl和SQL)
End loop;

共循环 num2-num1+1 次;

例子:

beginFor循环for i in -3..3 loopdbms_output.put_line('i = '||i);end loop;dbms_output.put_line('FOR循环已经结束!');
end;

(3)While循环

控制条件为真时,重复执行循环体内的语句。

While <布尔表达式> loop…(PL/SQl和SQL)
End loop;

例子:

declarei number(8):=5;
While循环
beginwhile(i > 0) loopdbms_output.put_line('i = '||i);i:=i-1;end loop while_loop;dbms_output.put_line('WHILE循环已经结束!');
end;

(4)Case

A.Case语句I

casewhen <表达式1> then…when <表达式2> then…else…end case;

B.Case语句II

格式2:将列值转换成说明

Case 列名when 值1 then 说明1when 值2 then 说明2…else 其他
End;

例子:

set serveroutput Case语句on
declaregender varchar2(20):= '男';
begincase genderwhen '男' then dbms_output.put_line('勇敢');when '女' then dbms_output.put_line('漂亮');else dbms_output.put_line('人妖');end case;
end; 

(5)Goto语句

goto 标签名语句…
<<标签名>>

跳转规则:
• 1)同一程序块内跳转
• 2)子块跳到父块,不能父块跳到子块
• 3)不能从IF语句外跳入IF语句内
• 4)不能从While语句外跳入While语句内
• 5)不能从子程序外跳入子程序内

例子:

DECLAREi number;
BEGINi:=5;<<repeat_loop>> --循环点DBMS_OUTPUT.PUT_LINE('i='||i);i:=i-1;IF i>0 THENGOTO repeat_loop; --小于5,就goto到repeat_loopEND IF;
END;

Oracle入门(十四A)之PL/SQL 基本结构相关推荐

  1. Oracle入门(十四)之PL/SQL

    一.PL/SQL 基本语法 PL/SQL语言是模块式的过程化SQL,是oracle公司对SQL的扩展. (1) (2) (3) (5) (6) (7)数据类型 Number 数字型 Varchar2 ...

  2. FreeSql (二十四)Linq To Sql 语法使用介绍

    原本不支持 IQueryable 主要出于使用习惯的考虑,如果继承 IQueryable,编写代码的智能总会提示出现一堆你不想使用的方法(对不起,我有强迫症),IQueryable 自身提供了一堆没法 ...

  3. PL/SQL程序结构

    1.PL/SQL介绍: PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用 ...

  4. 用oracle怎么测试,oracle – 如何(单位)测试数据密集的PL / SQL应用程序

    有几种不同的PL / sql测试工具. Steven Feuerstein已经写了两个 utplsql和 Quest Code Tester for Oracle(以前的QUTE).我是utplsql ...

  5. oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码

    作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的.呵呵!风高月夜,此时正下手之机. Oracle有提供一个叫"外部例程"来实现与其他编程语言的访问.例 ...

  6. Oracle杀事务数据库崩溃,关于pl/sql dev窗口崩溃导致锁表

    今天在用pl/sql dev写sql的时候,刚刚写到一个select XXX from table for update,打开了锁的按钮,进行了数据修改,这个时候没有commit,因为临时有事,所以先 ...

  7. 第四章、PL/SQL基础

    1.PL/SQL概述 2.PL/SQL块结构 3.分支语句的使用 4.循环语句的使用 5.异常处理的使用 6.记录的使用 PL/SQL块结构 PL/SQL块结构如下 DECLARE ... BEGIN ...

  8. Oracle学习笔记之五sp1,PL/SQL之BULK COLLECT

    Bulk Collect特性可以让我们在PL/SQL中能使用批查询,批查询在某些情况下能显著提高查询效率. BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQ ...

  9. oracle执行语句出无效字符,pl/sql动态执行sql语句时报错:ORA-00911: 无效字符 ORA-06512: 在 line 14...

    今天测试的时候遇到两个错误提醒,写下来给自己提个醒: --建测试表 create table test_table(tablename varchar2(50),selectsql clob); in ...

最新文章

  1. Swift反射API及其用法
  2. 数据结构-String、char
  3. ASP.NET三层架构之不确定查询参数个数的查询
  4. Feign从配置文件中读取url
  5. 网上云盘怎么用?有哪些实用功能?
  6. fedora下软件安装
  7. 【游戏开发】Excel表格批量转换成CSV的小工具
  8. 下载mrt需要java_MRT Lab | 下载
  9. C语言基础专题 - 预处理
  10. EventBus全面讲解和案例
  11. python数据抓取与实战_Python数据抓取技术与实战 pdf
  12. QFIL的烧录、读写
  13. 内网穿透工具之NATAPP使用教程
  14. USBKEY全解析---概要介绍
  15. 时间序列分析之相关性
  16. CV战神常用代码-----kj15
  17. laravel定时任务设置
  18. linux系统的常用命令:在线下载数据文件解压缩
  19. 从0开发豆果美食小程序——搜索组件
  20. 02H5C3-11. Nginx中部署静态网站

热门文章

  1. c语言glut打正方形,OpenGL绘制正方形并用键盘移动
  2. 树的存储结构-孩子兄弟表示法
  3. C++this指针的用途
  4. python对浏览器的常用操作_selenium+python基本操作(02)
  5. 口袋操作系统_全自动阀口袋包装机的发展
  6. 算法---会议最大安排问题
  7. android仿支付宝弹窗,【转】MUI自定义底部弹窗自带遮罩层仿支付宝支付弹窗
  8. 6-23 分离链接法的删除操作函数 (20 分)
  9. Caffe编译代码的时候报各种未定义未声明
  10. HDU6956-Pass!(2021杭电多校一)(BSGS)