oracle游标:查询并打印员工的姓名和薪水

--查询并打印员工的姓名和薪水
--set serveroutput on
/*
1、光标的属性
      %found:如果取到了记录就是true否则是false;
      %notfound:
*/
declare
--定义一个光标
cursor cemp is select ename,sal from emp;
--为光标定义对应的变量
pename emp.ename%type;
psal emp.sal%type;

begin
     --打开光标
     open cemp;

     loop
          --取一条记录  into后面的顺序和定义光标后面的ename,sal顺序一致
          fetch cemp into pename,psal;
          --思考:1、循环什么时候退出?2、fetch不一定能取到记录
          --exit when 没有取记录
          exit when cemp%notfound;

          --打印取到的记录
          dbms_output.put_line(pename||'的薪水是'||psal);

     end loop;

     --关闭光标
     close cemp;
end;
/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 07:29:24

oracle游标:查询并打印员工的姓名和薪水的相关文章

Oracle游标(光标)

 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 表.select语句.游标:返回结果都能是一个集合. 注意:游标的结果是一个集合. --查询并打印员工的姓名和薪水 set serveroutput on /* 光标: 1. 光标的属性: %isopen %

Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_USER的字段列表字符串为AH,BIRTHPLACE,BM,CELLPHONE,CJGZRQ,DEPARTMENT2,DJJID,GZCX,GZKH,GZSFZH,HJDZ,HYZK,ID,JHRQ,JTZZ,LAFX_LD,LJDZ,LLY,LXDH,NAME,NXDH,POLICENUMBER,

Oracle游标解析

本节对Oracle中的游标进行详细讲解. 本节所举实例来源Oracle中scott用户下的emp表dept表: 一.游标: 1.概念: 游标的本质是一个结果集resultset,主要用来临时存储从数据库中提取出来的数据块. 二.游标的分类: 1.显式游标:由用户定义,需要的操作:定义游标.打开游标.提取数据.关闭游标,主要用于对查询语句的处理. 属性:%FOUND        %NOTFOUND        %ISOPEN          %ROWCOUNT Example:打印emp表的

Oracle游标--cursor_01-简单不带参数实现功能

对于游标这个概念,可以理解为类似我们以前学习的jdbc的结果集对象, 我们可以使用游标对结果集从上到下进行遍历,获取每一行内容 首先我们要分析一下游标的分类 带参数的 书写函数的整体架构 定义游标 开启游标 关闭游标 不带参数 举个栗子:查询oracle数据库emp表的所有员工的姓名和工资 --开启远程访问 set serveroutput on; declare -- 变量声明 cursor cemp is select from ename,esal from emp; cename emp

oracle游标

一.游标 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集. 为了处理SQL语句,Oracle将在内存中分配一个区域,这就是上下文区.这个区包含了已经处理完的行数.指向被分析语句的指针,整个区是查询语句返回的数据行集.游标就是指向上下文区句柄或指针. 二.游标的分类: 1.静态游标:静态游标是在编译时知道其SELECT语句的游标.静态游标又分为两种类型,隐式游标和显示游标. 2.动态游标:用户为游标使用的查询直到运行的时候才

Oracle 游标使用全解(转)

转自:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html 这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试 1 -- 声明游标:CURSOR cursor_name IS select_statement 2 3 --For 循环游标 4 --(1)定义游标 5 --(2)定义游标变量 6 --(3)使用for循环来使用这个游标 7 declare 8 --类型定义 9 cursor c_job 10 is 1

数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例 实验所用数据表 子查询,解决一步不能求解 查询工资比scott高的员工信息: 子查询知识体系搭建: 解释3,查询部门是sales的员工信息: 方法1:子查询 [方法2]:多表: 优化考虑: 解释4[select],只能放单行子查询 解释4[from] 考题:显示员工姓名,薪水 解释

Oracle复杂查询

数据分组, 分组函数max, min, avg, sum, count 查询工资最高的人的姓名 select ename from emp where sal = (select max(sal) from emp); 给所有低于平均工资的员工薪水上涨10% update emp set sal = (select avt(sal) from emp)*10% where sal<(select avt(sal) from emp); grout by 和 having 字句 groupt by

oracle 连接查询

在SQL Server中已经学习过内联接(inner join).外联接(outer join),外联接又分为左外联接(left outer join)和 右外联接(right outer join).Oracle中对两个表或者若干表之间的外联接用(+)表示. 代码演示:请查询出工资大于2000元的员工的姓名,部门,工作,工资. 由于部门名称在dept中,其他的信息在emp表中,需要内联接才能完成. SQL> SELECT e.ENAME,e.JOB,e.SAL,d.DNAME 2 FROM e