Oracle pl/sql 游标
来源:互联网 发布:php 类调用静态方法 编辑:程序博客网 时间:2024/05/16 16:13
概念:在pl/sql中,不能直接执行select * from emp;等这样的语句,如果需要读取表中的数据,必须使用游标。游标的四个步骤: 1、声明游标 cursor 游标名(参数列表) is select 查询语句; 2、打开游标 open 游标名; 3、提取游标数据 4、关闭游标 close 游标名;案例: declare dname_ dept.dname%type; cursor c is select dname from dept; --声明游标 begin open c; --打开游标 fetch c into dname_; --读取第一行数据 while c%found loop dbms_output.put_line(dname_); fetch c into dname_; end loop; close c; --关闭游标 end;
带参数的游标
DECLARE
dname_ dept.dname%TYPE;
–1、声明游标
CURSOR c(n INT)
IS SELECT dname FROM dept WHERE mod(deptno, n) = 0;
BEGIN
–2、打开游标
OPEN c(20);
–3、提取游标数据
FETCH c INTO dname_;
WHILE c%FOUND LOOP
dbms_output.put_line(dname_);
FETCH c INTO dname_;
END LOOP;
–4、关闭游标
CLOSE c;
END;
隐式游标:
在执行一个SQL语句时,Oracle会自动创建一个隐式游标。这个游标是内存中处理该语句的工作区域,隐式游标主要是处理数据操纵语句(如update,delete语句)的执行结果,当然特殊情况下,也可以处理select语句的查询结果。由于隐式游标也有属性,当使用隐式游标属性时,需要在属性前面加上隐式游标的默认名称–SQL。在实际编程中,经常使用隐式游标来判断更新数据行或删除数据行的情况。
案例:
declare
n int;
begin
insert into dept values(80,’新部门’,’不知道’);
n:=sql%rowcount;
dbms_output.put_line(n);
end;
将表中的数据保存到表类型
DECLARE
CURSOR c IS SELECT * FROM dept;–定义游标
TYPE t IS TABLE OF dept%ROWTYPE INDEX BY BINARY_INTEGER;–表类型t
v t; – 表类型变量v
i INT := 0; –表类型的元素索引
BEGIN
OPEN c; –打开游标
FETCH c INTO v(i); –提取游标,并将提取的行放到表类型中
WHILE c%FOUND LOOP
i := i + 1;
FETCH c INTO v(i);
END LOOP;
CLOSE c;
- Oracle PL/SQL游标
- oracle pl sql 游标
- oracle pl/sql 游标
- Oracle pl/sql 游标
- oracle pl sql fetch游标
- oracle pl sql 参数游标
- oracle pl sql 更新游标
- ORACLE PL/SQL基础 游标
- Oracle PL/SQL cursor(游标)
- Oracle PL/SQL显示游标、隐式游标、游标循环
- oracle pl sql 隐式游标SQL
- Oracle的PL/SQL编程和游标
- Oracle PL/SQL基础--游标的学习
- Oracle PL/SQL语言初级教程之游标
- Oracle PL/SQL游标的学习
- Oracle PL/SQL游标的学习
- ORACLE PL/SQL游标(cursor)学习笔记
- Oracle PL/SQL基础--游标的学习
- 算法之贪心书架
- [二分+最大流]51 Nod——1757 大灾变
- 人为什么觉得心累呢?很值得看 !
- tomcat 启动时间过长
- 遮罩锁屏
- Oracle pl/sql 游标
- 剑指offer第22题(从上往下打印二叉树)
- python: pop函数
- 互锁函数InterlockedExchangeAdd的用法
- K:正则表达式之基础简介
- 虚拟机的三种网络模式
- IDEA中could not autoware
- JavaScript使用FileReader对象实现图片上传预览
- 从零开发B/S机架应用程序(二)