以下plsql程序用的scott用户的dept,emp表。

1.光标的使用:

 --查询并打印员工的姓名名和薪水
/*
光标属性:
%found %notfound */ set serveroutput on; declare CURSOR C1 IS SELECT ENAME,SAL FROM EMP;
PENAME EMP.ENAME%TYPE;
PSAL EMP.SAL%TYPE; BEGIN --打开光标
OPEN C1; LOOP --取一条记录,
FETCH C1 INTO PENAME,PSAL ;
EXIT WHEN C1%notfound;
--1.循环什么时候退出 2.FETCH一定能取到数据吗
DBMS_OUTPUT.PUT_LINE(PENAME||'的薪水是'||PSAL);
END LOOP; --关闭光标
CLOSE C1; END;
/

2.给员工涨工资

 --给员工涨工资, 总裁涨1000 ,经理涨800 ,其他 400

 set serveroutput on;

 declare

   cursor cemp is select empno,job from emp;
pempno emp.empno%type;
pjob emp.job%type; begin open cemp;
loop fetch cemp into pempno,pjob ;
exit when cemp%notfound; IF pjob = 'PRESIDENT' then update emp set sal= sal + 1000 where empno = pempno;
ELSIF pjob = 'MANAGER' then update emp set sal=sal+800 where empno = pempno;
ELSE update emp set sal=sal + 400 where empno = pempno;
END IF; end loop; close cemp; commit;
--对应oracle ,默认的事务隔离级别是 read committed
--事务的ACID :原子性 一致性 隔离性 持久性
SYS.DBMS_OUTPUT.PUT_LINE('涨工资完成'); end; /

3.操作带参数的光标

 --查询某个部门中员工的姓名

 set serveroutput on;

 declare

   cursor cemp(dno number) is select ename from emp where deptno = dno;
pename emp.ename%type; begin
open cemp(10);
dbms_output.put_line('10号部门的人有:');
loop fetch cemp into pename;
exit when cemp%notfound;
dbms_output.put_line(pename); end loop; close cemp; end; /

知识点出处: http://www.imooc.com/learn/360

oracle光标的使用的更多相关文章

  1. Oracle-PL/SQL语句

    1.PL/SQL 2.存储过程,函数 3.java中调用存储过程和函数 4.触发器 1 PL/SQL 1.1什么是PL/SQL? n  PL:Process Language n  PL/SQL是or ...

  2. 编程开发之--Oracle数据库--存储过程在out参数中使用光标(3)

    在本系列学习随笔中的第2节我们留下了2个问题,我们现在讨论在out参数中使用光标. 1.要在out参数中使用光标,我们需要申明一个包的结构,包的结构分为包头和包体,包头只负责申明,包体只负责实现.包头 ...

  3. Oracle游标(光标)

     watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGFuZ2xpdXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0J ...

  4. Oracle 学习----游标(使用带参光标cursor)

    --表参照无参光标页信息 --注意:红色就是参数 declare cursor tt(pkeycode temp.keycode%type) is select name,sal from temp ...

  5. Oracle 学习----游标(使用无参光标cursor)

    表: ----游标----------------------------- declare cursor tt is select name,sal from temp; vname temp.na ...

  6. oracle常用的快捷键

    最近在开发过程中,遇到一些麻烦,就是开发效率问题,有时候其他同事使用PLSQL 编程效率明显高于自己,观察了好久,才发现他使用PLSQL 已经很长时间了而且,他自己也在其中添加了好多快捷方式, 1.登 ...

  7. Oracle安装注意点与工具使用简说

    oracle数据库安装 注意点:orcl,安装过程中指定sys,system等相关账户密码 scott账户下有常用的四张表,可用system或sys作为sysdba进去, 可alter user sc ...

  8. LoadRunner ---参数化数据源(oracle,mssql,excel)

    TXT文本,EXCEL表格以及数据库中的表都可以作为参数的数据集载体,LR都是支持的. 特别提醒:1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据.2.数据文件一定要以一个空行结束,否则 ...

  9. [转]Oracle Form 触发器执行顺序

    Trigger 不是数据库中的触发器,不过功能类似,都是当某个事件发生的时候会触发. Trigger中可以编写代码,当对应事件发生的时候就会执行该Trigger中的代码. Oracle Form中的T ...

随机推荐

  1. git>>>>1

    参考博客:http://www.cnblogs.com/wupeiqi/p/7295372.html - 版本控制,各行各业都需要 - 版本控制工具 - svn - git - git,软件帮助使用者 ...

  2. linux(五)之vi编译器

    前面介绍了linux的常用命令和对文本的操作,接下来我将对大家领略一下vi编译器的强大功能.希望大家觉得写的还不错的话可以点个“推荐”哦! 一.vim/vi编译器简介 Vim/Vi是一个功能强大的全屏 ...

  3. 天气类App原型制作分享-ColorfulClouds

    ColorfulClouds是一款界面精美的天气预报App,它可以准确预报降雨量.污染程度等.这款App最美的是它的首页天气插画,扁平精美,同时配上了适当的动效,把普通的天气变得漂亮有趣,十分吸引眼球 ...

  4. CTF---密码学入门第四题 困在栅栏里的凯撒

    困在栅栏里的凯撒分值:10 来源: 北邮天枢战队 难度:易 参与人数:4531人 Get Flag:2124人 答题人数:2285人 解题通过率:93% 小白发现了一段很6的字符:NlEyQd{sef ...

  5. SRM13

    由于种种原因,好像出了点锅……? 好在问题不是很大. 得分比我估的要低啊. 木之本樱 计算几何送分题 就是叫你求一共有多少组四线共点,O(n^4)暴力可以过初.枚举两条线,求出交点之后求有多少条直线过 ...

  6. bzoj 3874: [Ahoi2014]宅男计划

    Description  [故事背景] 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY 不得不依靠叫外卖来维持生计. [问题描述] 外卖店一共有N种食物,分别有1到N编号.第i种 ...

  7. 2017西安网络赛 F

    f(cos(x))=cos(n∗x) holds for all xx. Given two integers nn and mm, you need to calculate the coeffic ...

  8. Xtrabackup实现数据的备份与恢复

    Xtrabackup介绍 Xtrabackup是由percona开源的免费数据库热备份软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁): ...

  9. [国嵌攻略][142][LCD驱动程序架构]

    LCD裸机驱动回顾 1.LCD初始化 1.1.控制器初始化 1.2.端口初始化 1.3.指明了帧缓冲 2.LCD图形显示 2.1.将图形数据写入帧缓冲 Linux帧缓冲体验 把图片转换成开发板屏对应的 ...

  10. layui之事件监听(table)

    这几天在学习layui,感觉这框架挺好用的,前后端都适用,许多原本比较复杂的东西用该框架很容易就能实现. 今天看了table里的事件监听这个知识点. 语法:table.on('event(filter ...