这么理解吧, 下面前2点是介绍, 3说的是游标:
首先, Oracle也是软件。 只不过他的底层是用C写的。
当这个软件运行或者compile你的程序代码时, 你写的整个程序, 包括有游标Cursor的地方, 都是作为一个字符串读入的 Oracle的。Oracle的解析器分析语法无错误以后,读到了你有Cursor的地方, 那就还会取决于Cursor的类型做不同对待。
最主要的就是在内存中划分一块区域, 然后将Cursor读取的数据放进去。 (这么理解其实不是很精确, 其实大多数时候不是将数据物理性的放进去, 而是引用地址,您先这么理解)。 不同的游标, 放的方式有所不同, 但是主要目的就是放入内存中。
那么有啥好处呢? 因为放入内存中的数据的读取是很快的, 如果用硬盘, 那么就还需要读写(I/O)的过程, 就会比较慢。 所以Oracle的游标方法是一个加快他的数据提取效率的方式, 尤其是在10G以后加入了bulk collection以后,就更能提高速度。
以上就是我个人的看法
追问cursor的类型指的是哪些呢?循环之类的吗?还有父游标和子游标的原理您能说说吗?
追答你说的循环, 是你去内存中提取数据的方式之一, 而不是游标的类型。
游标, 书本上也都有,
分3种类型:显性, 隐性, 动态。这部分请你看其他资料吧,因为从你的问题来看,你问的不是我刚给你的简单回答。
关于父子游标的问题, 请看下面:
---------------------------------------------------------------------------------------------------------------
我刚随便话了个图, 草稿一样,不要介意