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

    首先游标的声明语法是这样的:

    CURSOR cursor_name IS select_statement

    我们写一个简单的存储过程,for循环取出游标显示:

    --FOR 循环游标
    --步骤 1.定义游标
        --2.定义游标变量(可以理解为实例化)
        --3.利用FOR循环来使用游标
    CREATE OR REPLACE PROCEDURE prd_test
    AS
     CURSOR c_emp IS   --声明游标
           SELECT t1.empno
           ,t1.ename
           ,t2.dname
           ,t2.loc
           ,t1.job
           ,t1.sal  
            FROM EMP t1 LEFT JOIN DEPT t2 
            ON t1.deptno=t2.deptno;  
     c_row c_emp%rowtype;  --定义游标变量(实例化)
    BEGIN
      FOR c_row IN c_emp LOOP   --循环游标
       dbms_output.put_line('我的工号是:'||c_row.empno||',我叫'||c_row.ename||',我来自'||c_row.loc); 
       END LOOP;
    END;

    Fetch游标的用法:

    --Fetch游标
      --注意:使用的时候必须要明确打开和关闭
    CREATE OR REPLACE PROCEDURE prd_fetch
    AS
       CURSOR c_emp IS
           SELECT t1.empno
           ,t1.ename
           ,t2.dname
           ,t2.loc
           ,t1.job
           ,t1.sal  
            FROM EMP t1 LEFT JOIN DEPT t2 
            ON t1.deptno=t2.deptno;  
       c_row c_emp%rowtype;
       BEGIN 
         OPEN c_emp;  --打开游标
         LOOP
           FETCH c_emp INTO c_row; --提取一行数据到c_row
           EXIT WHEN c_emp%notfound;  --判断是否提取到值,没取到值就退出
           dbms_output.put_line('我的工号是:'||c_row.empno||',我叫'||c_row.ename||',我来自'||c_row.loc); 
         END LOOP;
         close c_emp;
         END;
  • 相关阅读:
    Java内存分配及垃圾回收机制
    《当你的才华还撑不起你的梦想时》读后感
    Java线程池入门必备
    单例模式的那些事
    idea超炫的自定义模板
    布隆过滤器概念和原理
    MessageDigest
    java zip 压缩与解压
    WebStorm 注册码
    taobao-pamirs-proxycache开源缓存代理框架实现原理剖析
  • 原文地址:https://www.cnblogs.com/Jims2016/p/5760072.html
Copyright © 2011-2022 走看看