zoukankan      html  css  js  c++  java
  • Oracle游标

    1 游标的作用相当于指针,通过游标PL/SQL可以一次处理查询结果集中的一行。oracle中,有显示游标和隐式游标.

    游标的操作步骤  声明游标、打开游标、读取游标、关闭游标,4个步骤。游标每次只能读取一行数据,对于多条记录,需要反复的读取,直到游标读取不到数据为止。

    --游标操作
    set serveroutput on
    declare
    /*声明游标 检索雇员信息*/
    cursor cur_emp(var_job in varchar2:='salesman')
    is select empno,ename,sal
    from emp
    where job=var_job;
    type record_emp is record
    (
    /*定义当前的成员变量*/
    var_empno emp.empno%type,
    var_ename emp.ename%type,
    var_sal emp.sal%type
    );
    emp_row record_emp;
    begin
    open cur_emp('MANAGER');
    fetch cur_emp into emp_row;
    while cur_emp%found
    loop
    dbms_output.put_line(emp_row.var_ename||'的编号是'||emp_row.var_empno||',工资是'||emp_row.var_sal);
    fetch cur_emp into emp_row;
    end loop;
    close cur_emp;
    end;

    --2018-03-27 22:51:46

    游标的4个属性 %found %notfound %isopen %rowcount

    --%found 布尔型属性 如果sql语句至少影响到一行数据,则返回true,否则false

    --%notfound 布尔型属性 与%found属性相反

    --%isopen 布尔型属性   游标已经打开时返回true 否则返回false

    --%rowcount 数字型属性 返回sql语句受影响的行数

    set serveroutput on
    declare
    var_ename varchar2(20);
    var_job varchar2(50);
    cursor cur_emp
    is select ename,job from emp where empno=7599;
    begin
    open cur_emp;
    fetch cur_emp into var_ename,var_job;
    if cur_emp%found then
    dbms_output.put_line('编号是7499的雇员名称是'||var_ename||',职务是:'||var_job);
    else
    dbms_output.put_line('无数据记录');
    end if;
    end;

    --for 语句和游标结合使用
    declare
    cursor cur_emp is select *from emp where deptno=30;
    begin
    for emp_record in cur_emp loop
    dbms_output.put('雇员编号:'||emp_record.empno);
    dbms_output.put('雇员名称:'||emp_record.ename);
    dbms_output.put_line('雇员职务:'||emp_record.job);
    end loop;
    end;

  • 相关阅读:
    Instant Python 中文缩减版
    《Java疯狂讲义》(第3版)学习笔记 2
    《Java疯狂讲义》(第3版)学习笔记 1
    NXP Mifare S50标准IC卡- 访问位(Access Bits) 分析
    Python中获取异常(Exception)信息
    支持向量机(SVM)入门
    棋类游戏中人机博弈的设计
    (翻译)如何对python dict 类型按键(keys)或值(values)排序
    Python实现打印二叉树某一层的所有节点
    FIFA halts 2026 bids amid scandal 国际足联在丑闻期间停止2026年足球世界杯申请
  • 原文地址:https://www.cnblogs.com/yachao1120/p/8654733.html
Copyright © 2011-2022 走看看