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;
  • 相关阅读:
    迁移
    zendframework 2 链接数据库
    zendframework 2
    merge sort and quick sort 自己去理解吧
    ubuntu git 使用
    resumablejs 分块上传 断点续传
    video.js html5 视频播放器
    swfupload 例子
    php 润年 星期 天数
    ubuntu 安装 axel
  • 原文地址:https://www.cnblogs.com/Jims2016/p/5760072.html
Copyright © 2011-2022 走看看