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;
  • 相关阅读:
    491 · 回文数
    936 · 首字母大写
    1343 · 两字符串和
    1535 · 转换成小写字母
    13 · 字符串查找
    146 · 大小写转换 II
    241 · 转换字符串到整数(容易版)
    46 · 主元素
    kotlin协程——>通道
    kotlin协程——>异步流
  • 原文地址:https://www.cnblogs.com/CPU-Easy/p/10899581.html
Copyright © 2011-2022 走看看