oracle10g- oracle 关于集合数据的处理 cursor 游标
2010-09-30 09:52
316 查看
pl sql 高级应用游标的设计与开发什么是游标为什么用游标怎么样使用游标存储过程的创建参数的使用存储过程的调用包的设计与应用什么是包 包的创建与使用
游标是一种plsql控制结构 可以对sql语句的处理进行显示的控制便于对表的行数据进行逐条的处理游标分为显式和隐式两种情况游标的属性%found %isopen %notfound %rowcount
例子--*******************declare cursor mycur is select * from t1;myrec t1%rowtype;beginopen mycur;//打开fetch mycur into myrec;whie mycur%found loopdbms_output.put_line(myrec.id||myrec.name);fetch mycur into myrec;//记录去获取下一个记录end loop;close mycur;//要关闭end;/--*******************带参数的游标declare cursor mycur(did number) is select name from t1 where id=did; dname t1.name%type;beginopen mycur(1);//打开关传入参数
loopfetch mycur into dname;dbms_output.put_line(dname);exit while mycur%notfound;end loop;close mycur;//要关闭end;/--***********加强的for循环//不用打开和关闭 declare Cursor mycur (did number) isselect name from t1 where id=did;begindbms_output.put_line('*****结果集为*****');for c in mycur(8) loopdbms_output.put_line(c.name);end loop;end;/--************************declare cursor mycur(did number) is select name from t1 where id=did; dname t1.name%type;beginopen mycur(1);//打开关传入参数if mycur%isopen thendbms_output.put_line('游标已经打开了');elseopen mycur(1);end if;loopfetch mycur into dname;dbms_output.put_line(dname);exit while mycur%notfound;end loop;close mycur;//要关闭end;/--*******
declare tname varchar2(10);cursor mycur isselect * from t1;beginopen mycur;loopfetch mycur into dname;exit when mycur%notfound or mycur%notfound is null;dbms_output.put_line('共有多少行:'||mycur%rowcount);end loop;end;/--*******;用游标来修改数据declare cursor mycur isselect name from t1 for update;//一定要用for update 否则不允许更新的dname varchar2(10);beginopen mycur;fetch mycur into dname ;while mycur%found loopupdate name set name=name||'_name' where current of mycur;//一定要用current of mycurfetch mycur into dname;end loop;end;/--***********隐式游标
begin for cur in (select name from t1) loopdbms_output.put_line(cur.name);end loop;end;/不用打开和关闭
游标是一种plsql控制结构 可以对sql语句的处理进行显示的控制便于对表的行数据进行逐条的处理游标分为显式和隐式两种情况游标的属性%found %isopen %notfound %rowcount
例子--*******************declare cursor mycur is select * from t1;myrec t1%rowtype;beginopen mycur;//打开fetch mycur into myrec;whie mycur%found loopdbms_output.put_line(myrec.id||myrec.name);fetch mycur into myrec;//记录去获取下一个记录end loop;close mycur;//要关闭end;/--*******************带参数的游标declare cursor mycur(did number) is select name from t1 where id=did; dname t1.name%type;beginopen mycur(1);//打开关传入参数
loopfetch mycur into dname;dbms_output.put_line(dname);exit while mycur%notfound;end loop;close mycur;//要关闭end;/--***********加强的for循环//不用打开和关闭 declare Cursor mycur (did number) isselect name from t1 where id=did;begindbms_output.put_line('*****结果集为*****');for c in mycur(8) loopdbms_output.put_line(c.name);end loop;end;/--************************declare cursor mycur(did number) is select name from t1 where id=did; dname t1.name%type;beginopen mycur(1);//打开关传入参数if mycur%isopen thendbms_output.put_line('游标已经打开了');elseopen mycur(1);end if;loopfetch mycur into dname;dbms_output.put_line(dname);exit while mycur%notfound;end loop;close mycur;//要关闭end;/--*******
declare tname varchar2(10);cursor mycur isselect * from t1;beginopen mycur;loopfetch mycur into dname;exit when mycur%notfound or mycur%notfound is null;dbms_output.put_line('共有多少行:'||mycur%rowcount);end loop;end;/--*******;用游标来修改数据declare cursor mycur isselect name from t1 for update;//一定要用for update 否则不允许更新的dname varchar2(10);beginopen mycur;fetch mycur into dname ;while mycur%found loopupdate name set name=name||'_name' where current of mycur;//一定要用current of mycurfetch mycur into dname;end loop;end;/--***********隐式游标
begin for cur in (select name from t1) loopdbms_output.put_line(cur.name);end loop;end;/不用打开和关闭
相关文章推荐
- oracle10g- oracle关于数据操作时异常的处理 编写自定义的异常
- 关于oracle读取数据时,自动进行HASH处理的隐含参数:_gby_hash_aggregation_enabled
- ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理
- 关于oracle 11g导出数据时 报 ORA 1455错误的处理
- 处理Clob数据(转)关于oracle中大对象处理的一些方法和实例
- direct=true 错误处理方法 (关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
- 关于Oracle中分区表Partition与引用型游标ref cursor的应用范例
- 106---oracle的PL/SQL,异常处理, 游标(CURSOR), 子程序,存储过程
- Oracle 存储过程中使用cursor 游标遍历数据
- oracle 存储过程,游标、异常处理,集合使用入门详解
- Num43 oracle(子查询: 集合查询:处理数据:创建和管理表: 其他数据库对象)
- direct=true 错误处理方法 (关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法
- Oracle 存储过程中使用cursor 游标遍历数据
- 关于Oracle中重复数据的处理
- Process multi-row data with cursor or without cursor[利用游标或者非游标处理多行数据]
- 109---oracle的oracle的PL/SQL,异常处理, 游标(CURSOR), 子程序,存储过程
- oracle 写代码块 (可写游标,这些来处理数据)
- Spring中关于保存数据时重名的处理异常
- oracle 函数 输入值,查询数据,返回相应处理结果
- 如何找出Oracle instance中当前打开游标open cursor的总数?