zoukankan      html  css  js  c++  java
  • 【PL/SQL】学习笔记 (7)光标的属性,一个会话中打开光标数的限制

    光标的属性:

    1. fetch 语句从光标中是否取到记录

    %found    true/flase

    %notfound    true/false




    2. %isopen 判断光标是否打开

    例子:

     1 set SERVEROUTPUT ON
     2 
     3 declare 
     4     --定义光标
     5     cursor cemp is select ename, empjob from emp;
     6     pempno emp.empno%type;
     7     pjob   emp.empjob%type;
     8 begin
     9 
    10     --打开光标
    11     open cemp;
    12     
    13     if cemp%isopen then 
    14         DBMS_OUTPUT.PUT_LINE('光标已经打开');
    15     else 
    16         dbms_output.put_line('光标没有打开');
    17     end if;
    18     
    19     --关闭光标
    20     close cemp;
    21 
    22 end;
    23 /

    结果:




    3. rowconut 影响的行数

     1 set SERVEROUTPUT ON
     2 
     3 declare 
     4     --定义光标
     5     cursor cemp is select empno, empjob from emp;
     6     pempno emp.empno%type;
     7     pjob   emp.empjob%type;
     8 begin
     9 
    10     --打开光标
    11     open cemp;
    12     
    13     loop 
    14         --取出一条记录
    15         fetch cemp into pempno,pjob;
    16         exit when cemp%notfound;
    17         
    18         --打印rowcount的值
    19         dbms_output.put_line('rowcount:'||cemp%rowcount);
    20 
    21     end loop;
    22     
    23     --关闭光标
    24     close cemp;
    25 
    26 end;
    27 /

    结果:

    光标的限制

    在默认情况下,Oracle数据库只允许在同一个会话中,打开300个光标。

    修改光标数的限制:

    1 alter system set open_cursors=400 scope =both;
  • 相关阅读:
    森林 BZOJ 3123
    calc BZOJ 2655
    修路 BZOJ 4774
    无聊的计算器【数论多合一】
    矩阵乘法 BZOJ 2738
    K大数查询 BZOJ 3110
    发展城市 BZOJ 3700
    降雨量 BZOJ 1067
    chrome中showModalDialog解决方案
    MFC webbrowser读取文档的meta分析
  • 原文地址:https://www.cnblogs.com/CPU-Easy/p/10899581.html
Copyright © 2011-2022 走看看