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;

  • 相关阅读:
    Django组件之contenttype
    DRF 分页
    DRF的解析器和渲染器
    DRF 权限 频率
    DRF 版本 认证
    django Rest Framework 视图和路由
    Serialzers 序列化组件
    FBV和CBV区别
    RESTful规范
    SecureCRT最佳配置方案
  • 原文地址:https://www.cnblogs.com/yachao1120/p/8654733.html
Copyright © 2011-2022 走看看