oracle 编写一个简单的游标
的有关信息介绍如下:游标可以想象的看成一个变动的光标,其实际上是一个指针,这个指针可以指向结果集中的任何一条记录。这样就可以得到他所指向的数据了。一般初始指向是首记录。
CURSOR cursor_name
[ (parameter_name datatype,...) ]
is select_statement;
一、创建游标
CURSOR C_CUR_TEXT IS SELECT * from Student_Information ;
二、打开游标
OPEN C_CUR_TEXT;
三、读取数据
FETCH C_CUR_TEXT INTO CUR_STUDENT;
四、关闭游标
CLOSE C_CUR_TEXT;
创建游标读取学生表中的第一条数据
DECLARE
CURSOR C_CUR_TEXT IS SELECT * from Student_Information ; --创建游标
CUR_STUDENT Student_Information%ROWTYPE;
BEGIN
OPEN C_CUR_TEXT; --打开游标
FETCH C_CUR_TEXT INTO CUR_STUDENT; --读取数据
DBMS_OUTPUT.PUT_LINE('学号:'||CUR_STUDENT.studentid ||' 姓名:'||CUR_STUDENT.studentname||' 年纪:'||CUR_STUDENT.studentclass);
CLOSE C_CUR_TEXT; --关闭游标
END;
/*******
该图中只显示Student_Information表中第一行的数据,因为游标的初始位置是第一条记录,如果要继续往下读取的话需要用到循环,反复读取数据
*********/
注释:
CUR_STUDENT Student_Information%ROWTYPE; :声明一个变量,该变量的类型是基于表Student_Information 的行对象。
CUR_STUDENT.studentname:输出变量CUR_STUDENT中的studentname信息