PLSQL 循环游标 cursor 的一点心得体会

set serveroutput on---------------打印输出信息,默认是FALSE

declare --------------------申明变量,分号结束

v_pages number; 
v_numberPerPage number; 
v_totalPages number; 
v_cur        sys_refcursor;

diy_id  number; 
diy_name varchar2(50); 
diy_date date; 
cursor c_list is select * from  table_User  i where i.id=4;

begin 
----------------给变量初始化值 
v_pages:=1; 
v_numberPerPage:=20; 
--调用的sp,参数分别是pages number 要查询的页数,numberPerPage number 每页显示几条   ,tatalPages number 输出参数,返回结果集总页数 , resultCursor cursor 结果集游标,返回查询结果 
My_Test_SP(v_pages,v_numberPerPage,v_totalPages,v_cur);

------------第一种循环游标方式,最简单高效 
for c in c_list loop 
dbms_output.put_line('用户的id='||c.id); -------------输出结果集 
end loop;

----------第二种循环游标方式

open v_cur ------打开游标,但是如果有这代码会提示错误,所以我运行的时候是注释这代码的,很奇怪,不知道什么原因 
loop 
fetch v_cur into diy_id,diy_name,diy_date;-----------(

fetch...into...
是SQL 里面获取游标里的量 用到的 fetch 后是你的游标 into 后是你的变量exit when 是当什么时候退出。后面加条件
是SQL 里面获取游标里的量 用到的 fetch 后是你的游标 into 后是你的变量exit when 是当什么时候退出。后面加条件

)

这三个参数是My_Test_SP输出的游标参数返回的值,刚好3个字段,如果这里少些任何一个字段,plsql会提示错误,不能少 
exit when v_cur%notfound; ----------定义跳出循环的条件,当每页记录则跳出 
dbms_output.put_line('报表id='||diy_id||',报表名='||diy_name);--------输出结果 
end loop;

close v_cur;---------关闭游标

dbms_output.put_line(v_totalPages);

end;

--fetch 的例子

SET SERVERIUTPUT ON  
    DECLARE  
    v_ename EMP.ENAME%TYPE;  
    v_salary EMP.SAL%TYPE;  
    CURSOR c_emp IS SELECT ename,sal FROM emp;  
    BEGIN  
    OPEN c_emp;  
    FETCH c_emp INTO v_ename,v_salary;  
    DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename  
    ||'is'|| v_salary);  
    FETCH c_emp INTO v_ename,v_salary;  
    DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename  
    ||'is'|| v_salary);  
    FETCH c_emp INTO v_ename,v_salary;  
    DBMS_OUTPUT.PUT_LINE('Salary of Employee'|| v_ename  
    ||'is'|| v_salary);  
    CLOSE c_emp;  
    END ;

PLSQL 循环游标 cursor loop fetch into相关推荐

  1. Oracle 'open cursor loop fetch into' and 'for in cursor loop'

    例子 DECLARECURSOR emp IS SELECT first_name, last_name FROM hr.employees;my_emp2 emp%ROWTYPE;fir_name ...

  2. Oracle中游标Cursor基本用法详解

    这篇文章主要介绍了Oracle中游标Cursor基本用法详解,还是比较全面的,具有一定参考价值,需要的朋友可以了解下. 查询 SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT ...

  3. mysql plsql循环语句吗,Oracle PLSQL 在游标中用while循环实例程序

    Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 declare cu ...

  4. 游标cursor,游标循环和记录变量的定义

    1.游标 游标使用分为四步骤. a.声明游标 cursor 游标名(参数1 数据类型[,参数2 数据类型]) b.打开游标 open 游标名[(实际参数1[,实际参数2.........])]: c. ...

  5. sql 游标循环(cursor)

    说明 游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果.每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理. 游标是处理 ...

  6. cursor java_ORACLE中的游标Cursor总结

    游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作. 游标可分为: 1.       静态游标:分为显式(explicit)游标和 ...

  7. oracle 记录给游标,Oracle游标 CURSOR实例详解

    一.游标概述: 游标(cursor)是数据库系统在内存中开设的一个数据缓冲区,存放SQL语句的执行结果. 每个游标都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给变量做进一步处理. 作用 ...

  8. 116.Oracle数据库SQL开发之 PLSQL编程——游标

    116.Oracle数据库SQL开发之 PLSQL编程--游标 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50086931 ...

  9. oracle的游标cursor

    6,如何使用显示游标,?如何遍历循环游标? ①使用显示游标 ⑴声明游标:划分存储区域,注意此时并没有执行Select 语句. CURSOR 游标名( 参数 列表) [返回值类型] IS Select ...

最新文章

  1. 微信jssdk,实现多图上传的一点心得
  2. mysql迁移导致数据库效率低_MySQL数据库慢–排查问题总结(整理自《抽丝剥茧之MySQL疑难杂症排查》叶金荣)...
  3. jQuery easyUI--tabs选项卡面板
  4. 【BZOJ2728】[HNOI2012]与非 并查集+数位DP
  5. [C++11]继承构造函数
  6. iOS与H5交互(WKWbebView)
  7. 关于if 判断等于0 和‘0’的问题
  8. 7. GD32F103C8T6 定时器 pwm输出
  9. POP介绍与使用实践(快速上手动画)
  10. 银行剧震!国内第一家无人银行来了...
  11. java 排水管网 系统_排水管网数字化管理系统
  12. python实现黑客帝国动画效果
  13. FlipIt博弈模型和后续研究的改进
  14. 数分下(第2讲):二阶线性微分方程的解法
  15. python计算md5码
  16. Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)
  17. cisco 华三 对接_H3C交换机与Cisco交换机STP协议对接注意事项
  18. 《炬丰科技-半导体工艺》硅片减薄、分离工艺
  19. python爬虫论文总结与展望_python爬虫回顾与总结
  20. Python之Django框架(一)

热门文章

  1. echarts自定义showlading()样式和文本
  2. 微信公众平台服务器 反馈,微信公众号开发之大坑
  3. 如何巧妙的申请换部门_如何设置户外广告?市城管局局长体验户外广告审批流程...
  4. 【Python】pymysql模块处理Mysql数据库
  5. react判断点击位置是否为组件内,实现点击外部触发组件内事件
  6. github上的优秀项目和开发环境配置【转http://www.cnblogs.com/2018/archive/2012/11/09/2763119.html】...
  7. MyBatis + MVC 获取 UI 参数的几种方法(二)
  8. noi 2009 二叉查找树 动态规划
  9. 决定好好研究一些开源的系统
  10. linux部署redis集群遇到的问题