?
REF游标也叫动态游标:
qREF 游标和游标变量用于处理运行时动态执行的 SQL 查询 q创建游标变量需要两个步骤: q声明 REF 游标类型 q声明 REF 游标类型的变量 q用于声明 REF 游标类型的语法为:
TYPE
[RETURN
-----------------------------------ref游标---------------------------------
declare
type ref_cursor is ref cursor; --声明一个ref游标类型
tab_cursor ref_cursor ;--声明一个ref游标
sname student.xm %type ;
sno student.xh %type ;
tab_name varchar2 (20 );
begin
tab_name := '&tab_name'; --接收客户输入的表明
if tab_name = 'student' then
open tab_cursor for select xh ,xm from student ; --打开ref游标
fetch tab_cursor into sno ,sname ;--移动游标
while tab_cursor %found
loop
dbms_output.put_line ('学号:' ||sno ||'姓名:' ||sname );
fetch tab_cursor into sno ,sname ;
end loop;
close tab_cursor ;
else
dbms_output.put_line ('没有找到你想要找的表数据信息' );
end if;
end;
-----------------------------------ref游标题目---------------------------------
SQL > select * from student ;
XH KC
---------- ----------
1 语文
1 数学
1 英语
1 历史
2 语文
2 数学
2 英语
3 语文
3 英语
9 rows selected
SQL >
完成的任务 :
生成student2表 (xh number, kc varchar2 (50 ));
对应于每一个学生,求出他的总的选课记录,把每个学生的选课记录插入到student2表中。
即,student2中的结果如下:
XH KC
--- -------------------------------------------
1 语文数学英语历史
2 语文数学英语
3 语文英语
create table student2 (xh number, kc varchar2 (50 ));
declare
kcs varchar2 (50
|