显示游标

原创 2012年03月21日 18:34:39
declare
 --定义一个游标,【已经指明该游标的作用】
 cursor myCur is select * from scott.emp;
 --定义一个变量用于接收该游标的值
 my myCur%rowtype;
begin
 --打开游标
 open myCur;
 --提取游标的值放置在变量中
 --每fetch一次取一行记录
 fetch myCur into my;
 dbms_output.put_line(my.ename);
 --关闭游标
 close myCur;
end;




declare
 --定义一个游标,【已经指明该游标的作用】
 cursor myCur is select * from scott.emp;
 --定义一个变量用于接收该游标的值
 my myCur%rowtype;
begin
 --打开游标
 open myCur;
 fetch myCur into my;
 --提取游标的值放置在变量中
 --每fetch一次取一行记录
 while myCur%found 
  loop
       fetch myCur into my;
       dbms_output.put_line(my.ename);
 end loop;
 --关闭游标
 close myCur;
end;




declare
 --定义一个游标,【已经指明该游标的作用】
 cursor myCur is select * from scott.emp ;
 --定义一个变量用于接收该游标的值
 my myCur%rowtype;
begin
 --打开游标
 open myCur;
 --提取游标的值放置在变量中
 --每fetch一次取一行记录 
  loop
       fetch myCur into my;
       dbms_output.put_line(my.ename);
       exit when myCur%notfound;
 end loop;
 --关闭游标
 close myCur;
end;


drop table users;
create table users(
 usid int ,
 uname varchar2(20),
 umoney int
)
select * from users;


insert into users values(1,'zs',1000);
insert into users values(2,'ls',1000);




declare
 --定义一个游标,【已经指明该游标的作用】
 cursor myCur is select * from users ;
 --定义一个变量用于接收该游标的值
 my myCur%rowtype;
begin
 --打开游标
 open myCur;
 --提取游标的值放置在变量中
 --每fetch一次取一行记录 
  loop
       fetch myCur into my;
       exit when myCur%notfound;
       if my.usid mod 2=0 then
       update users set umoney=umoney+500 where usid=my.usid; 
       commit;
       end if;
 end loop;
 --关闭游标
 close myCur;
end;
select * from users for update of usid;
select * from users;


begin
 dbms_output.put_line(2 mod 2);
end;






declare
 --定义一个游标,【已经指明该游标的作用】
 cursor myCur is select * from users ;
begin
  for my in myCur
   loop
     dbms_output.put_line(my.usid||my.uname);
   end loop;
end;


begin
  for my in (select * from users)
   loop
     dbms_output.put_line(my.usid||my.uname);
   end loop;
end;

显式游标和隐式游标的区别

【Oracle】PL/SQL 显式游标、隐式游标、动态游标 在PL/SQL块中执行SELECT、INSERT、DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Conte...
  • haiross
  • haiross
  • 2015年01月21日 14:58
  • 11221

显示游标获取数据

--在Oracle中,当我们从PL/SQL中执行一条select语句时,Oracle RDBMS(关系数据库管理系统)会为该语句在SGA的共享池中分配一个私有SQL区, --同时在将查询结果集放入系...
  • XiangZhengxian
  • XiangZhengxian
  • 2017年02月17日 20:22
  • 1512

创建五种存储过程及游标的使用

--创建存储过程 --A. 创建使用参数的存储过程 CREATE PROC au_info  @lastname varchar(40),  @firstname varchar(20...
  • linlin2294592017
  • linlin2294592017
  • 2013年09月03日 11:00
  • 9160

SQL 游标的使用(更新数据)

一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言, 如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环 游标的类型:   1、静...
  • gjtao1130
  • gjtao1130
  • 2014年10月23日 16:32
  • 5695

Oracle PL/SQL显示游标、隐式游标、游标循环

dba基础课程:Oracle PL/SQL显示游标、隐式游标、游标循环 显示游标 使用游标顺序 1.声明游标 2.打开游标 3.读取游标 4.数据是否为空,是关闭游...
  • oraclestudyroad
  • oraclestudyroad
  • 2016年08月03日 15:36
  • 1578

oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标、异常等

http://blog.csdn.net/dreamthen/article/details/8509317 游标的概念:      游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游...
  • it_taojingzhan
  • it_taojingzhan
  • 2016年04月18日 16:35
  • 859

游标的使用,完全版

转载地址 http://www.cnblogs.com/adslg/archive/2010/08/17/1801469.html 游标的概念:      游标是SQL的一个内存工作区...
  • freewindgo
  • freewindgo
  • 2016年08月09日 21:25
  • 692

oracle显示游标和游标for循环案例

--显示游标案例 declare  cursor emp_cursor(department in number default 20)  is select empno,ename,job,s...
  • yhuohuo
  • yhuohuo
  • 2014年08月10日 17:39
  • 1324

Oracle游标 隐视游标、显示游标

游标 1. 游标的属性(重点----记) %FOUND             SQL语句影响一行或者多行的时候为true; %NOTFOUND          SQL语句没有影响到任何一行的...
  • qq_40694145
  • qq_40694145
  • 2018年01月14日 21:21
  • 11

Oracle 存储过程返回数据集(游标)

声明:本文整理自网络,加上个人实际实验结果   Oracle存储过程返回数据集,其实就是返回游标,这里需要了解这样几个概念,游标、存储过程的out参数、引用游标类型、Oracle的程序包,这里只说...
  • zhaizhisheng
  • zhaizhisheng
  • 2015年04月30日 13:47
  • 5643
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:显示游标
举报原因:
原因补充:

(最多只允许输入30个字)