1.游标的使用。看到的一段解释很好的概念,如下:
    游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。 
游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO...查询语句,一次只能从数据库中提取一行数据,对于这种形式的查询和DML操作,系统都会使用一个隐式游标。但是如果要提取多行数据,就要由程序员定义一个显式游标,并通过与游标有关的语句进行处理。显式游标对应一个返回结果为多行多列的SELECT语句。 
游标一旦打开,数据就从数据库中传送到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。在我们进行insert、update、delete和select   value into  variable 的操作中,使用的是隐式游标。

隐式游标的属性 返回值类型意义 :

SQL%ROWCOUNT    整型  代表DML语句成功执行的数据行数   
SQL%FOUND   布尔型 值为TRUE代表插入、删除、更新或单行查询操作成功   
SQL%NOTFOUND    布尔型 与SQL%FOUND属性返回值相反   
SQL%ISOPEN  布尔型 DML执行过程中为真,结束后为假  
2.隐士游标:

create or replace procedure prc_example (epo in number) as
BEGIN  
        UPDATE emp SET sal=sal+100 WHERE empno=epo;   
         IF SQL%FOUND THEN    
        DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');   
        COMMIT;    
        ELSE  
        DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!');   
         END IF;    
        END;

declare
e_number number;
begin
e_number:=7788;
prc_example(e_number);
 end;
3.显示游标:

使用游标查询所有编号为10 的员工名

create or replace procedure prc_example is
begin
    declare
    cursor emp_sor  is select ename,sal from emp where deptno=10;  
    cname emp.ename%type;     
    csal emp.sal%type;
 begin
   open emp_sor;       
   loop        
   fetch emp_sor into cname,csal;  --取游标的值给变量。             
   dbms_output.put_line('ename:'||cname);        
   exit when emp_sor%notfound;        
  end loop;         
  close emp_sor;     
 end;
end;

oracle存储过程中游标定义相关推荐

  1. Oracle 存储过程中,解决变量使用 in条件时,查询无效问题

    oracle 存储过程中,定义变量之后,使用变量进行 in 条件查询时,会出现查询条件无效的问题 表结构 表数据 解决方法 create or replace type strsplit_type i ...

  2. Oracle存储过程中异常Exception的捕捉和处理

    Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...

  3. oracle存储过程游标调用,oracle存储过程调用游标例子-Oracle

    oracle存储过程调用游标例子. 1:首先你需要创建一个包,并定义你返回的游标的类型.存储过程 create or replace package TEST_PKG is --定义游标 type t ...

  4. Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:

    摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是 ...

  5. oracle存储过程中数组的使用

    oracle存储过程中数组的使用 create or replace package ArrayTestPKG1 is    type tt_type is table of varchar(32) ...

  6. oracle 存储过程中使用select 列 into 变量

    在oracle存储过程中,有许多自己定义的变量,一般是需要赋值的,在这种情况下,一般来说,可以使用 select 列 into 变量  from table ,就是将列赋值给变量.

  7. oracle存储过程ddl,Oracle 存储过程中的DDL语句

    Oracle的存储过程,是我们使用数据库应用开发的重要工具手段.在存储过程中,我们大部分应用场景都是使用DML语句进行数据增删改操作.本篇中,我们一起探讨一下数据定义语句DDL在存储过程中使用的细节和 ...

  8. oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接

    1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...

  9. 布尔类型(boolean)在oracle存储过程中支持情况

    文章目录 1.布尔类型在oracle存储过程中支持情况 (1)布尔类型在过程.函数.包中的支持情况 (2)布尔类型与其他类型的兼容情况 (3)布尔类型作为cast函数参数情况 (4)存储过程case- ...

最新文章

  1. Android Stdio换源以及配置项目
  2. 51nod 1421 最大MOD值
  3. linux各种复制命令
  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的学生课堂考勤管理系统
  5. php 可编辑菜单,菜单的添加编辑
  6. 在linux系统下java实现pdf导出汉字无法显示_Linux环境下iText生成pdf中文不显示问题...
  7. JavaScript 盖尔-沙普利算法
  8. ML-Visuals机器学习、深度学习绘图模板素材分享
  9. 图书自助借阅功能分析
  10. 【Java】 类和对象
  11. day46 html
  12. 如何在 Ubuntu 上配置 ROS和LPMS IMU传感器
  13. SDK完整环境下载安装及ADB常用命令
  14. window.open()打开窗口的几种方式
  15. docker介绍说明,docker配置代理加速器、docker使用国内镜像仓库
  16. RabbitMQ 报错:connection error; (reply-code=530, reply-text=NOT_ALLOWED - XXX(Hosts名) / not found)
  17. 爬虫开发02--数据解析--xpath(首选)
  18. f81沒有啟用配銷模組,全用INV的雜項處理方式處理,有以下管理要求
  19. 华大单片机HC32L072KATA低功耗调试笔记
  20. 2021年美容师(技师)考试技巧及美容师(技师)试题及解析

热门文章

  1. Ubuntu 安装 postgresql12
  2. 初中英语多词性单词怎么办_初中英语单词巧记方法
  3. 微信开发踩坑之旅 之 开发准备及服务器配置
  4. FFmpeg提取视频音乐
  5. 快速排序的5种优化方法
  6. 电脑鼠标右击刷新一直转圈
  7. 【Java--日期的使用】
  8. Oracle取排序的第五条数据,OVER(PARTITION BY)函数介绍 【oracle中按A分组按B排序,再取B中第一条数据的查询】...
  9. 即刻报名|飞桨黑客马拉松第三期盛夏登场,等你挑战
  10. css3切角文本框_html – 用边框制作切角