数据库里面游标CURSOR

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:45:25
数据库里面游标CURSOR是什么概念?应该怎么使用?各位大虾能不能举个简单的例子
谢谢~
我说的是存储过程中的游标,不知道一楼是什么意思
希望各位大虾帮忙解释下,分我不在乎,答案满意我还可以多加
谢谢
再补充下我用的是oracle
最后问一下, v_c_phone c_phone%rowtype里面的%rowtype是什么意思呢?
哪位大虾可以回答下~

你的CURSOR是什么数据库的。sqlserver还是oracle?
游标的定义说不好,不过我理解的是,选出一堆数据放到一个游标里
在后续的任务里循环调出每一行数据去匹配并得到所要的结果,oracle的游标例子可以提供,sqlserver提供不了,需要的话说一声,给你发个例子。

游标一般定义于存储过程或者函数中;
--定义游标:
CURSOR cur_cursor_name
IS
SELECT 字段1,字段2(可定义多个字段)

from table_name
WHERE 条件;
--在后续中,要打开游标:
open cur_cursor_name;
loop
fetch cur_cursor_name into v_cursor_name;--把游标取出的数据放到一个变量,v_cursor_name为定义的变量名
EXIT WHEN cur_cursor_name%NOTFOUND;--当取再没有数据可取时退出游标

再然后你就可以根据游标取出的数据进行你需要的操作

CURSOR是个表,与表使用的方法相同,它存放在内存中,当用USE命令关闭此表时,此表就消失。

呵呵!
我今天刚刚学习这个东西!

游标是可以控制select获取值的结果集这里的控制是指读取以及更新

例子比如:
declare pubs_crsr cursor
for select pub_name,city,state
from publishers
for update of city,state

定义一个叫做pubs_crsr的游标

查询出 pub_name,city,state字段在publishers表中,游标可以更新city,state字段!如果没有写那么就是全部字段(select所取的字段)