【例6-15】 使用loop语句求得前100个自然数的和,并输出到屏幕,代码如下。 SQL> set serveroutput on SQL> declare 2 sum_i int:= 0;--定义整数变量,存储整数和 3 i int:= 0;--定义整数变量,存储自然数 4 begin 5 loop--循环累加自然数 6 i:=i+1;--得出自然数 7 sum_i:= sum_i+i;--计算前n个自然数的和 8 exit when i = 100;--当循环100次时,程序退出循环体 9 end loop; 10 dbms_output.put_line('前100个自然数的和是:'||sum_i);--计算前100个自然数的和 11 end; 12 / 本例运行结果如图6-9所示。 图6-9 求得前100个自然数的和 6.4 PL/SQL游标 6.4.1 显式游标 6.4.2 游标属性 6.4.3 隐式游标 6.4.4 通过for语句循环游标 6.4.1 显式游标 显式游标是由用户声明和操作的一种游标,通常用于操作查询结果集(即由SELECT语句返回的查询结果),使用它处理数据的步骤包括:声明游标、打开游标、读取游标和关闭游标4个步骤。其中读取游标可能是个反复操作的步骤,因为游标每次只能读取一行数据,所以对于多条记录,需要反复读取,直到游标读取不到数据为止,其操作过程如图6-12所示。 图6-12 显示游标操作数据的过程 无论是显式游标还是隐式游标,都具有%found、%notfound、%isopen和%rowcount四个属性,通过这4个属性可以获知SQL语句的执行结果以及该游标的状态信息。下面对这4个属性的功能进行讲解 %found:布尔型属性,如果SQL语句至少影响到一行数据,则该属性为true,否则为fasle。 %notfound:布尔型属性,与%found属性的功能相反。 %rowcount:数字型属性,返回受SQL语句影响的行数。 %isopen:布尔型属性,当游标已经打开时返回true,游标关闭时则为false。 下面通过一个实例来查看如何使用游标的%found属性来判断检索结果集中是否有数据行。 【例6-20】 声明一个游标,用于检索指定员工编号的雇员信息,然后使用游标的%found属性来判断是否检索到指定员工编号的雇员信息,代码如下。 SQL> set serveroutput on SQL> declare 2 var_ename varchar2(50);--声明变量,用来存储雇员名称 3 var_job varchar2(50);--声明变量,用来存储雇员的职务 4 /*声明游标,检索指定员工编号的雇员信息*/ 5 cursor cur_emp--定义游标,检索指定编号的记录信息 6 is select ename,job 7 from emp 8 where empno=7499; 9 begin 10 open cur_emp;--打开游标 11 fetch cur_emp into var_ename,var_job;--读取游标,并存储雇员名和职务 12 if cur_emp%found then --若检索到数据记录,则输出雇员信息 13 dbms_output.put_line('编号是7499的雇员名称为:'||var_ename||',职务是:'||var_job); 14 else 15 dbms_output.put_line('无数据记录');--提示无记录信息 16 end if; 17 end; 18 / 6.4.2 游标属性 本例运行结果如图6-14所示。 图6-14 使用游标的%found属性判断是否存在检索记录 在上面的例子中,若检索到编号为7499的雇员信息,则select语句会返回一行数据,这时游标cur_emp的%found属性值为true;若检索不到编号为7499的雇员信息,则select语句无数据行返回,这是游标cur_emp的%found属性值为false。 在执行一个SQL语句时,Oracle会自动创建一个隐式游标。这个游标是内存中处理该语句

oracle数据库应用与实践课件,Oracle数据库管理、开发与实践 教学课件 作者 杨永健 刘尚毅 第6章 PL SQL编程.ppt...相关推荐

  1. oracle数据库的基本教程 pdf,Oracle数据库技术基础教程 PDF 下载

    相关截图: 资料简介: 本书主要介绍Oracle数据库的基本概念.知识和技术,注重培养Oracle数据库技术的基本操作技能.本书内容体系完整,覆盖了Oracle数据库技术的主要组成部分,设置有Orac ...

  2. 删除oracle数据库的三种方法,oracle数据库的删除方法详解

    oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...

  3. Oracle数据库的乘号是什么,(Oracle数据库设计实验指导书yk.doc

    (Oracle数据库设计实验指导书yk Oracle数据库设计实验指导书 <Oracle 数据库设计>课程实验 一.本实验课在培养实验能力中的地位及作用 Oracle 数据库设计是软件工程 ...

  4. 视频教程-赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础-Oracle

    赵强老师:Oracle数据库从10g到11g(4)PL/SQL编程基础 毕业于清华大学,拥有超过13年的工作经验. Oracle认证讲师,拥有6年以上授课经验.精通Oracle数据库.中间(Weblo ...

  5. exp导oracle数据库,使用exp/imp 在oracle数据库间导数据

    最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程. 导数据过程分以下几步: 假设源数据库为A,目标数据库为B 1.在B上通 ...

  6. linux数据库实例开机启动,Oracle数据库之Linux下实现Oracle数据库单实例开机自启动设置...

    本文主要向大家介绍了Oracle数据库之Linux下实现Oracle数据库单实例开机自启动设置,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 步骤思路: 1:查看ORACLE_ ...

  7. oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法

    oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法 win7 下   cmd  运行   sqlplus  ...

  8. oracle数据库 cmd,cmd命令操作Oracle数据库

    //注意cmd命令执行的密码字符不能过于复杂 不能带有特殊符号 以免执行不通过 譬如有!@#¥%--&*之类的  所以在Oracle数据库设置密码是不要太复杂 /String Database ...

  9. oracle数据库emp表的内容,oracle数据库emp表

    Oracle 数据库视图与基表的关系 一:首先解释什么是视图:视图其实就是一条查... Oracle数据库Sql语句详解大全 第一章 SELECT查询 2021/2/4... n3等组成的二进制转变成 ...

最新文章

  1. 为什么越来越多的程序员开始学机器学习?揭秘一个重要原因
  2. Python里那些可爱的游戏模块们
  3. (原创)JS点击事件——Uncaught TypeError: Cannot set property 'onclick' of null
  4. 程序员面试金典 - 面试题 16.09. 运算(只用+法做乘除)
  5. drawer的用法_MMDrawerController抽屉侧边栏的简单使用
  6. 用C语言编写约瑟夫环程序,约瑟夫环C语言,请高手检查我的程序
  7. 编译原理语义分析_编译原理 第一章 绪论
  8. 低秩矩阵完备_矩阵之芯 SVD: 基本应用以及与其他分解的关系
  9. postgresql查看表的创建者和表的权限
  10. java doc、docx、pdf格式互转
  11. Macbook pro/air 2013 late -2014 使用转接卡更换NVME SSD休眠不醒问题的解决办法
  12. 系统架构师(十七)系统可靠性分析与设计
  13. 基于Quartz实现定时任务-框架学习
  14. IDE和SCSI硬盘的区别
  15. 使用Python将微信和支付宝账单导入随手记
  16. RT-Thread 入门学习笔记 - 熟悉邮箱rt_mailbox的使用
  17. 我们走的太快,灵魂落在后面了,要停下来等等
  18. 抓取检测数据集Cornell数据解析
  19. Web应用程序与桌面应用程序的区别
  20. cmd命令和dos命令有什么不同?

热门文章

  1. 三分钟了解,阁中物电商是什么样的平台
  2. PNG图像文件存储结构
  3. 在windows上执行Linux命令,wsl安装及应用
  4. 批量统计不同块的数量
  5. 唯品会商品信息实战步骤详解,爬虫太强了!
  6. 有源RFID在人员和资产管理上的应用
  7. MySQL全局锁、表级锁、行级锁介绍演示(详细)
  8. .NET抽奖算法的设计和实现
  9. [独家发布]金山毒霸2009壁纸提前与大家分享
  10. 5月券商App行情刷新及交易体验评测报告,四家券商综合评级上升