游标

显示游标

显示游标属性

1.%ISOPEN:布尔值,游标是否打开
2.%FOUND:布尔值,FETCH附近,缓存区中是否有数据
3.%NOTFOUND:布尔值,反之
4.%ROWCOUNT:数值型,缓冲区检索的记录数
5.%BULK_ROWCOUNT(i):数值型,FORALL语句第I个元素所影响的行数

显示游标的三种循环

--编写一个PL/SQL块,输出所有员工的姓名。员工号。工资和部门号。

Select * from emp;
Select * from dept;

--简单循环

--简单循环
set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
  v_emp emp%ROWTYPE;
BEGIN 
  OPEN c_emp;
  LOOP 
    FETCH c_emp INTO v_emp;
    EXIT WHEN c_emp%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(v_emp.ename||' '||v_emp.empno||' '||v_emp.sal||' '||v_emp.deptno);
  END LOOP;
  CLOSE c_emp;
END;

--while循环

set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
  v_emp emp%ROWTYPE;
BEGIN 
  OPEN c_emp;
  FETCH c_emp INTO v_emp;
  
  WHILE c_emp%FOUND LOOP
    DBMS_OUTPUT.PUT_LINE(v_emp.ename||' '||v_emp.empno||' '||v_emp.sal||' '||v_emp.deptno);
    FETCH c_emp into v_emp;
  END LOOP;
  
  CLOSE c_emp;
END;

--for循环

set serveroutput on
DECLARE
  CURSOR c_emp IS SELECT * FROM emp;
BEGIN 

  FOR i IN c_emp LOOP
  DBMS_OUTPUT.PUT_LINE(i.ename||' '||i.empno||' '||i.sal||' '||i.deptno);
  END LOOP;
  
END;

隐式游标(处理DML语言后)

隐式游标属性

1.SQL%ISOPEN:布尔值,游标是否打开
2.SQL%FOUND:布尔值,FETCH附近,缓存区中是否有数据
3.SQL%NOTFOUND:布尔值,反之
4.SQL%ROWCOUNT:数值型,缓冲区检索的记录数
5.SQL%BULK_ROWCOUNT(i):数值型,FORALL语句第I个元素所影响的行数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一,游标是什么? 游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解...
    奇哥威武阅读 3,038评论 0 1
  • 游标概念 由select语句返回的结果集包括满足该语句的where子句中条件的所有行。但是有时候应用程序并不总能将...
    不知名的蛋挞阅读 6,288评论 0 6
  • 游标的概念 从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记...
    海豚的小小海阅读 2,695评论 0 0
  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQ...
    开心糖果的夏天阅读 4,140评论 0 4
  • 学习python连接mysql,对游标这个词很陌生,专门在网上搜索了游标的基础知识,并进行了大致的学习。 1、游标...
    橘颂betty阅读 6,630评论 0 51