zoukankan      html  css  js  c++  java
  • 从概念到示例—Oracle隐式游标

    一、游标的相关概念:
     定义:
        游标它是一个服务器端的存储区,这个区域提供给用户使用,在这个区域里
    存储的是用户通过一个查询语句得到的结果集,用户通过控制这个游标区域当中
    的指针 来提取游标中的数据,然后来进行操作。
      
     实质:
         是用户在远程客户端上对服务器内存区域的操作,由数据库为用户提供这样的
    一个指针,使得用户能够去检索服务器内存区的数据。
      (1)、 指向上下文区域的句柄或指针
      (2)、上下文区域-用于SQL处理的内存区
      (3)、上下文区域的内容
           - 语句处理的行数
           -指向语句的语法分析表示的指针
     
    二、游标的类型
       a)静态游标
           -  隐式游标
           -  显式游标
       b)Ref游标
     
    三、游标具有的属性
         %notfound 询问是否没有结果集
         %found    询问是否存在结果集
         %rowcount 返回受影响的行数
         %isopen   询问游标是否已经打开

    四、先来说说隐式游标
       隐式游标 ---由Oracle数据库自动创建,名称是(SQL) ,主要用途是可以返回一个操作是否成功或失败.
      1.有Oracle在内部声明,由系统管理
      2.用于处理
         -DML语句   --注意只能用于DML语句哦。
         -返回单行的查询
      3.用于判断一个操作是否成功.
         SQL%notfound  --返回Boolean值  存在结果集返回 False
         SQL%found    --返回Boolean值   存在结果集返回 True
         SQL%rowcount  --用户成功提取数据的行数
         SQL%isopen   --在隐式游标里一般这个属性是自动打开和关闭的.且任何时候查询都返回False

     示例:向表中插入一行数据,询问是否插入成功.
     declare
       iCount int:=0;
     begin
        insert into place values(2,'beijing');
        DBMS_output.put_line('游标所影响的行数:'||SQL%rowcount);
        if SQL%NotFount then
          DBMS_output.put_line('NotFount为真);
        else
          DBMS_output.put_line('NofFount为假');
        end if;
      
         if SQL%Fount then
          DBMS_output.put_line('Fount为真);
         else
          DBMS_output.put_line('Fount为假');
         end if;

          if SQL%isopen then
          DBMS_output.put_line('isOpen为真);
         else
          DBMS_output.put_line('isOpen为假');
         end if;
         
        isCount:=SQL%rowcount;
        DBMS_output.put_line('影响了'||isCount||'行');
      end;

  • 相关阅读:
    Java中class的前面添加public和不添加public有什么区别?
    java中构造函数和一般函数的区别
    Java里的new
    【Python】正则表达式
    【Java】仿真qq尝试:用户注册(二)
    【Java】流与文件(端口 & 文件读写对象)
    【Java】仿真qq尝试:用户注册(一)
    【Java】仿真qq尝试:聊天界面 && 响应用户输入
    【JavaScript】canvas实现一个小游戏
    【JavaScript】键盘控制小球
  • 原文地址:https://www.cnblogs.com/sunjie9606/p/2167416.html
Copyright © 2011-2022 走看看