ORACLE中用for in 使用cursor

简介:

CURSOR cur IS SELECT * FROM xxx; 

FOR cur_result in cur LOOP 

BEGIN V_SUM :=cur_result.列名1+cur_result.列名2 END; 

END LOOP; 

END; 

中的CURSOR cur IS得到的是什么?

用for in 能够得到什么?


答:

CURSOR cur IS是定义一个游标,然后把游标里定义的查询语句存储到游标
因为查询语句查出来的数据往往是几条记录
但是你用的时候缺只能一条一条取出来用
这时游标的好处就体现出来了
游标存储时 存的是几条记录
但是读取时 他是一条记录一条记录读取的
然后再使用
FOR IN循环一下
就可以将你存储在游标里的记录一条一条的读取出来 但是每次只读取一条
以方便你的使用
这种情况如果不使用游标  往往会出现返回多行结果的错误

答2:

CURSOR cur IS 是显性游标,提出的是SELECT * FROM xxx中所有数据,在打开这个游标后 下面的东西都可以引用这个游标内容作为条件了,比如SELECT name FROM aaa ,那么 下面就可以用到 cur.name 作为值来用了,注意CURSOR cur IS提出的是一列数,每循环一次进入下一条数据,直到循环完毕没数据为止.
FOR cur_result in 是隐形游标,使用方法和显性游标大致一样,后面一般是
FOR cur_result in(select ? from ? where ?)loop 
...
end loop; 提出的也是一列值,循环一次换下一条




      本文转自建波李 51CTO博客,原文链接:http://blog.51cto.com/jianboli/1895970,如需转载请自行联系原作者





相关文章
|
存储 SQL Oracle
Oracle-procedure/cursor解读
Oracle-procedure/cursor解读
117 0
|
SQL
Oracle-cursor动态游标
动态游标的语法和使用
2756 0
|
SQL 存储 数据库
Oracle-cursor游标
游标的使用
1441 0
|
SQL Oracle 关系型数据库
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
175 64
|
28天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
38 7
|
28天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
27 6
|
28天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
21 5
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。