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

    游标是用于临时存储一个查询返回的多行数据(结果集),通过遍历游标,可以逐行访问处理改结果集的数据。

    1、使用方式

      声明——>打开——>读取——>关闭

    2、语法

      游标声明

      CURSOR 游标名[(参数列表)] IS 查询语句;

      游标打开:

      OPEN 游标名;

      游标读取:

      FETCH 游标名 INTO 变量列表;

      游标关闭:

      CLOSE 游标名;

    3、游标属性

    游标的属性   返回值类型   说明  
    %ROWCOUNT   整型 获得FETCH语句返回的数据行数
    %FOUND   布尔型 最近的FETCH语句返回的一行数据则为证,否则为假
    %NOTFOUND     布尔型   与%FOUND属性返回值相反
    %ISOPEN   布尔型   游标已经打开时值为真,否则为假

      无参数游标

    declare
        --声明游标
        cursor c_emp is select ename,sal from emp;
        --声明变量
        v_ename emp.ename%type;
        v_sal emp.sal%type;
    begin
        --打开游标
        open c_emp;
        --遍历循环
        loop
            --获取游标中的数据
            fetch c_emp into v_ename,v_sal;
            
            exit when c_emp%notfound;
            dbms_output.put_line('姓名:'||v_name||'工资:'||v_sal);
        end loop;
        --关闭游标
        close c_emp;
        
    end;
    View Code

      有参数游标

    declare
        --声明游标
        cursor c_emp(v_deptno emp.deptno%type) is select ename,sal from emp where deptno=v_deptno;
        --声明变量
        v_ename emp.ename%type;
        v_sal emp.sal%type;
    begin
        --打开游标
        open c_emp(10);
        --遍历循环
        loop
            --获取游标中的数据
            fetch c_emp into v_ename,v_sal;
            
            exit when c_emp%notfound;
            dbms_output.put_line('姓名:'||v_name||'工资:'||v_sal);
        end loop;
        --关闭游标
        close c_emp;
        
    end;
    View Code
  • 相关阅读:
    查看 Linux 中文件打开情况(lsof)
    主从复制错误处理总结
    Mysql 在线新建或重做主从
    mysql binlog日志删除
    Mysql 删除从数据库的relay logs最佳方式、最安全方式
    k8s调度器kube-scheduler
    nginx应用场景,特性,目录结构,常用模块,内置变量,URL和URI,http状态码,配置文件详解
    nginx日志
    CentOS7单机部署lamp环境和apache虚拟主机
    CentOS7安装和配置dns服务器
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/11630111.html
Copyright © 2011-2022 走看看