`
macheng365
  • 浏览: 28043 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

游标(一)

 
阅读更多

  /**
  该存储过程的用途是首先列举所有的员工信息,然后将工资低于最低工资标准的员工信息提高到最低工资,
  然后将在在给定日期入职前的员工工资+500
  */
create or replace procedure practice_cursor(in_min_sal  emp.sal%type,
                                              in_job_date varchar2) is

  --在声明游标时候定义好了select语句的游标
  cursor emp_cursor is
    select * from emp e order by e.deptno;
  --定义参数游标,该参数游标的作用是将工资少于min_sal的工资提高到min_sal。
  cursor advance_sal(min_sal emp.sal%type) is
    select e.empno, e.ename, e.job, e.mgr, e.hiredate, e.deptno
      from emp e
     where e.sal < min_sal
     order by e.deptno
       for update;
  --使用表定义记录类型表量
  emp_record emp%rowtype;
  --使用游标定义纪录类型
  advance_sal_record advance_sal%rowtype;
  --定义动态游标类型
  type before_hride_date is ref cursor return emp%rowtype;
  --定义动态游标变量,在后续使用中要求返回所有在1981-02-01前入职的员工信息
  before_hride_date_cursor before_hride_date;

begin
  --程序段1------------------紧紧是打印所有的现有员工信息--------------------------------------------------------
  dbms_output.put_line('调整工资前所有的员工信息如下:----------------------------------------');
  open emp_cursor;
  --使用简单loop循环获取数据
  loop
    --注意是fetch 游标 into 记录类型 ,不要搞反了啊
    fetch emp_cursor
      into emp_record;
    exit when emp_cursor%notfound;
    dbms_output.put_line('员工编号:' || emp_record.empno || '  员工名字:' ||
                         emp_record.ename || '  员工职位:' || emp_record.job ||
                         ' 员工入职日期:' || emp_record.hiredate || ' 员工部门号:' ||
                         emp_record.deptno||'   员工工资:'||emp_record.sal);
  end loop;
  close emp_cursor;

分享到:
评论

相关推荐

    .Net Oracle一次请求执行多条sql语句 Oracle批处理 使用游标一次执行多条Sql语句

    Oracle 一次请求执行多条sql语句 在.net 中查询Sql Server 一次请求执行多条sql语句很...例子中提供了2种解决方案 一种是用游标 还有一种就是很简单的拼接字符串的方法 语法略微和sql server有些区别 适合新手学习

    利用游标多数据库查询单条数据方法

    利用游标在10多个数据库中查询单条信息的方法,这是多数据库进行查询最快捷方法

    游标例题 获取游标中的某一行

    一些与游标相关的例题,例如如何获取游标中的某一行,声明游标,打开游标,关闭游标,释放游标。。。,如有遇到问题者,可看下是否有帮助,特呈上,共享下。

    LabVIEW 的游标图例

    游标图例用来显示图形中的游标,如图1所示。在图形上用游标可读取绘图区域上某个点的确切值,游...右键单击单曲线游标图例,从弹出的快捷菜单中选择“关联至”,可将游标与一个或所有曲线实现关联。多曲线模式将游标

    SQL Server 游标的简单使用

    SQL语句通常都可产生或处理一组记录,但是许多应用程序,尤其是T-SQL嵌入的主语言,通常不能把整个结果集作为一个单元来处理,这些应用程序就需要用一种机制来保证每次处理结果集中的一行或几行,游标(cursor)就提供...

    关于游标的说明与使用方法

    什么是游标?游标有什么作用?Oracle游标的类型?Oracle游标的状态有哪些,怎么使用游标属性?如何使用显示游标,?如何遍历循环游标?

    游标操作多个数据库学习之用,游标操作多个数据库

    学习之用,游标操作多个数据库 学习之用,游标操作多个数据库 学习之用,游标操作多个数据库

    我的第一次游标应用

    学习游标有一段时间了,也用过几次游标来解决问题,但是本次的应用让我更加深入的了解到游标的神奇!我写的这个程序是用在ERP系统中将库存分配到当天要出货的订单上,由于有订单不一定有库存,有库存的时候,当天不...

    oracle 隐式游标,显示游标,游标循环

    游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或...

    游标卡尺SolidWorks图纸

    这个三维建模是用SolidWorks2016完成的,这是一个游标卡尺的三维建模。

    关于游标使用sql

    PRINT '游标中的最后一行:' + @value; -- 填充数据. FETCH ABSOLUTE 3 FROM c_test_main INTO @id, @value; PRINT '游标中的第3行[绝对地址]:' + @value; -- 填充数据. FETCH RELATIVE -2 FROM c_test_main ...

    当时自己初学SQL时,对游标很难理解,现在编写了一个实例游标循环,到时写SQL循环时方便些

    当时自己初学SQL时,对游标很难理解,现在编写了一个实例游标循环,到时写SQL循环时方便些 declare cursor1 cursor for select *from bb --把查询数据给游标 fetch next from cursor1 into @id,@name -- 定义一个...

    LabVIEW波形图游标动态跟随

    资源为多态VI(适配数值数组和波形),需要作为子VI进行调用,调用时在父类VI中将波形图的引用创建好并连接至子VI输入端,同时波形图的游标应提前创建好。由于文件路径变化下载后如提示找不到子vi请手动指定路径。

    sql server游标的使用

    sql server 游标 使用的使用方法 ...FETCH会执行两步操作:首先将游标当前指向的记录保存到一个局部变量中, --然后游标将自动移向下一条记录) --将一条或多条记录读入某个局部变量后,就可以根据需要对其进行处理了

    oracle 游标 深入浅出 详解 精析 示例

    oracle游标 详解 精析 示例 真正能把游标讲透、说全、调理清晰的讲义。 游标犹如C语言的指针:灵活、实用、高效。 游标实际上是一种能从包括多条数据...游标是一个通过定义语句与一条Select语句相关联的一组SQL语句。

    用立创商城赠送的PCB直尺制作一个游标卡尺-游标卡尺.zip

    用立创商城赠送的PCB直尺制作一个游标卡尺-游标卡尺.zip

    SqlServer存储过程游标

    SqlServer存储过程游标 ,一个例子

    游标卡尺使用FLASH版

    相当容易入门的一个学习游标卡尺原理及使用方法的一个动画版小软件

    学习及练习PLSQL-游标遍历

    游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。

    oracle数据库游标使用例子

    简单的oracle游标使用小例子~~ 一份文档,实验用的。

Global site tag (gtag.js) - Google Analytics