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

    --select  * from student;
    --
    delete from student where sid>=4;

    --delete from "SYSTEM"."STUDENT";
    --
    SELECT * FROM "SYSTEM"."STUDENT";
    /*
    --插入30条记录
    SET SERVEROUTPUT ON
    DECLARE 
    I INT:=0;
    begin
    FOR I IN 1..30 LOOP
    INSERT INTO "SYSTEM"."STUDENT" (SID,SNAME,SDATE) VALUES(I,'FRJ'||TO_CHAR(I),SYSDATE);
    END LOOP;
    commit;
    end;
    */


    --采用游标查询出sid>2的纪录的 sid;
    declare 
     tempsid system.student.sid
    %type; --定义一个变量,它的数据类型与student表中的sid类型相同
     cursor myCursor           --定义游标 
     is                        --游标所执行的操作 
       select * from system.student
                
    where sid>2;
       selCursorRecord myCursor
    %rowtype; --游标实例化
    begin
        tempsid:
    =0;
        
    open myCursor;  --打开游标
        /*if myCursor%isopen then  --测试游标是否打开,打开则返回真,如果没有打开游标就使用fetch语句将提示错误.
           fetch myCursor into selCursorRecord;
           dbms_output.put_line(to_char(' sid: '|| selCursorRecord.sid));
        else
          dbms_output.put_line(to_char(' 游标没有打开.')); 
        end if;
        
    */

        
    /*
        while myCursor%isopen loop 
           fetch myCursor into selCursorRecord;
           dbms_output.put_line(to_char(' sid: '|| selCursorRecord.sid));
        end loop;
          --dbms_output.put_line(' 游标中所有的数据行数.'|| to_char(myCursor%rowcount)); 
         
    */

         loop          
    --这一种循环结构比上种更为准确
           tempsid:=tempsid+1;
           
    exit when myCursor%notfound ;
           
    fetch myCursor into selCursorRecord;
           dbms_output.put_line(to_char(
    ' sid: '|| selCursorRecord.sid || '  rows ' ||tempsid));
         
    end loop; 
         dbms_output.put_line(
    ' 游标中所有的数据行数.'|| to_char(myCursor%rowcount))  ;  --获取游标中的数据行数
         close myCursor;  --关闭游标
        
     
    end;
  • 相关阅读:
    使用批处理文件(.bat)启动Java程序
    VARCHAR2(%n)和VARCHAR2(%n char)区别
    Truncate Table
    Ext4之杂七杂八
    Oracle导表
    关于hibernate的session.createSQLQuery(sql)直接调用底层SQL后,返回结果集的问题
    Ext4真是难(展开表格行,显示图表)
    Hadoop学习笔记【入门】
    魅蓝note 做Android真机调试
    11-java学习笔记-反射
  • 原文地址:https://www.cnblogs.com/furenjun/p/oracCursor.html
Copyright © 2011-2022 走看看