• 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;

  • 相关阅读:
    Java并发编程的艺术(二)——volatile、原子性
    Java并发编程的艺术(一)——并发编程的注意问题
    算法——朋友圈(并查集)
    算法——汉诺塔问题
    算法——接雨水
    算法——n皇后问题
    深入理解Java虚拟机(八)——类加载机制
    深入理解Java虚拟机(七)——类文件结构
    转-项目管理5阶段|一位高级项目经理的4年项目经验分享
    什么是信息系统项目管理师(高级项目经理)
  • 原文地址:https://www.cnblogs.com/yachao1120/p/8654733.html
Copyright © 2020-2023  润新知