IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> oracle游标,游标使用方法 -> 正文阅读

[大数据]oracle游标,游标使用方法

显示游标 暂存查询取出的多行数据,然后一行一行地进行处理
使用步骤 : ①声明游标: cursor 游标名 is select 语句; ②打开游标:声明的游标必须打开后才能使用 open 游标名称;–相当于执行查询语句 ③使用游标:一般在循环语句中使用fetch语句提取游标中的记录来进行操作 ④关闭游标:游标使用完毕后,一定要关闭 close 游标名称; declare–定义游标 cursor mycursor is select * from emp; my_emp emp%rowtype;begin --打开游标 open mycursor;–读取游标 fetch mycursor into my_emp; dbms_output.put_line(my_emp.ename||’ ‘||my_emp.sal);–关闭游标 close mycursor;end;在emp表中对某部门的员工薪水增加100元,并显示本次更新操作共涉及了多少员工普通方法: declare dno number(4):=&d; s number(4);begin update emp set sal=sal+100 where deptno=dno; select count(*) into s from emp where deptno=dno; dbms_output.put_line(s);end; 隐式游标:由系统自动创建并管理declare dno number(4):=&d;begin update emp set sal=sal+100 where deptno=dno; dbms_output.put_line(sql%rowcount);end; 声明一个游标,用于取得部门10的员工的姓名和薪水信息 用记录接收游标中的数据declare v_name emp.ename%type; v_sal emp.sal%type; cursor my_cursor is select ename,sal from emp where deptno=10; begin open my_cursor; loop fetch my_cursor into v_name,v_sal; exit when my_cursor%notfound; dbms_output.put_line(v_name||’ ‘||v_sal); end loop; close my_cursor;end;declare type my_record is record ( v_name emp.ename%type, v_sal emp.sal%type ); cursor my_cursor is select ename,sal from emp where deptno=10; my my_record;begin open my_cursor; loop fetch my_cursor into my.v_name,my.v_sal; exit when my_cursor%notfound; dbms_output.put_line(my.v_name||’ ‘||my.v_sal); end loop; close my_cursor;end; 参数游标:需要对某一字段进行多值查询通过键盘录入,查询部门编号为10员工信息 declare cursor my_cursor(d_no emp.deptno%type) is select ename,sal from emp where deptno=d_no; v_name emp.ename%type; v_sal emp.sal%type;begin open my_cursor(&a); loop fetch my_cursor into v_name,v_sal; exit when my_cursor%notfound; dbms_output.put_line(v_name||’ ‘||v_sal); end loop; close my_cursor;end; 查询某部门的员工姓名和薪水declare cursor my_cursor(d_no emp.deptno%type) is select ename,sal from emp where deptno=d_no; v_name emp.ename%type; v_sal emp.sal%type;begin open my_cursor(20); loop fetch my_cursor into v_name,v_sal; exit when my_cursor%notfound; dbms_output.put_line(v_name||’ ‘||v_sal); end loop; close my_cursor;end;强型游标: 声明一个强型游标的变量 1. 有一个记录类型 2. 声明游标返回上面定义的记录类型 3. 声明一个强型游标变量 显示员工表中的姓名和工资记录 declare–1. 有一个记录类型type my_record is record(v_name emp.ename%type,v_sal emp.sal%type);–2. 声明游标返回上面定义的记录类型type my_coursor is ref cursor return my_record;–3. 声明一个强型游标变量my my_coursor;my1 my%rowtype;beginopen my for select ename,sal from emp;loopfetch my into my1;exit when my%notfound;dbms_output.put_line(my1.v_name||’ ‘||my1.v_sal);end loop;close my;end; 根据输入的字符确定显示哪一张表中的数据declaretype my_coursor is ref cursor;my my_coursor;emprec emp%rowtype;deptrec dept%rowtype;v_input char(1):=’&input’;beginif upper(v_input)=‘E’ thenopen my for select * from emp;loopfetch my into emprec;exit when my%notfound;dbms_output.put_line(emprec.ename||’ ‘||emprec.sal);end loop;elsif upper(v_input)=‘D’ then open my for select * from dept;loopfetch my into deptrec;exit when my%notfound;dbms_output.put_line(deptrec.dname||’ ‘||deptrec.loc);end loop;else dbms_output.put_line(’ 输入错误 ');end if;close my;end;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 16:00:53  更:2021-12-14 16:02:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:26:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码