java使用游标案例_一个游标小例子

//学生表

create table student(id varchar(10),

name varchar(10),

sex  char(2));

//成绩表

create table course(cid varchar(10),

cname varchar(10),

score number(4,1),

id varchar(10));

insert into course values ('c1','java',90,1);

insert into course values ('c2','oracle',80,1);

insert into course values ('c1','java',85,2);

insert into course values ('c1','oracle',88,2);

insert into course values ('c1','java',75,3);

insert into course values ('c1','java',80,4);

insert into student values ('1','张三','男');

insert into student values ('2','李四','男');

insert into student values ('3','王五','男');

insert into student values ('4','钱子','男');

insert into student values ('5','孙悟空','男');

学号  课程名  成绩

-------------------

如果有学号的学生没有考试,同样显示出学号,但是课程名和学号同样显示出为‘未知’

1

4f1150b881333f12a311ae9ef34da474.png

set

serveroutput

on

2

4f1150b881333f12a311ae9ef34da474.png

DECLARE

3

4f1150b881333f12a311ae9ef34da474.png

CURSOR

c_student

is

select

id

from

student;

4

4f1150b881333f12a311ae9ef34da474.png

CURSOR

c_course

is

select

ss.id,NVL(cname,

'

未知

'

),

5

4f1150b881333f12a311ae9ef34da474.png      NVL(score,

0

)

from

course cc,student ss

where

cc.id (

+

)

=

ss.id;

6

4f1150b881333f12a311ae9ef34da474.png

7

4f1150b881333f12a311ae9ef34da474.png  v_id_1 student.id

%

type;

8

4f1150b881333f12a311ae9ef34da474.png  v_id_2 student.id

%

type;

9

4f1150b881333f12a311ae9ef34da474.png  v_cname course.cname

%

type;

10

4f1150b881333f12a311ae9ef34da474.png  v_score course.score

%

type;

11

4f1150b881333f12a311ae9ef34da474.png

BEGIN

12

4f1150b881333f12a311ae9ef34da474.png

13

4f1150b881333f12a311ae9ef34da474.png

OPEN

c_course;

14

4f1150b881333f12a311ae9ef34da474.png  LOOP

15

4f1150b881333f12a311ae9ef34da474.png    fetchc_courseintov_id_1,v_cname,v_score;164f1150b881333f12a311ae9ef34da474.png    EXITWHENc_course%NOTFOUND;--EXIT WHEN 应该和fetch同时写在一起这样才能保证不出错误174f1150b881333f12a311ae9ef34da474.png184f1150b881333f12a311ae9ef34da474.png    OPENc_student;194f1150b881333f12a311ae9ef34da474.png        LOOP204f1150b881333f12a311ae9ef34da474.png       fetchc_studentintov_id_2;214f1150b881333f12a311ae9ef34da474.png       EXITWHENc_student%NOTFOUND;--EXIT WHEN 应该和fetch同时写在一起这样才能保证退出有效224f1150b881333f12a311ae9ef34da474.png234f1150b881333f12a311ae9ef34da474.png       ifv_id_1=v_id_2then244f1150b881333f12a311ae9ef34da474.png          DBMS_OUTPUT.put_line(v_id_1||''||v_cname||''||v_score);254f1150b881333f12a311ae9ef34da474.png       endif;264f1150b881333f12a311ae9ef34da474.png274f1150b881333f12a311ae9ef34da474.png    ENDLOOP;284f1150b881333f12a311ae9ef34da474.png    CLOSEc_student;294f1150b881333f12a311ae9ef34da474.png304f1150b881333f12a311ae9ef34da474.pngENDLOOP;314f1150b881333f12a311ae9ef34da474.pngCLOSEc_course;324f1150b881333f12a311ae9ef34da474.pngEND;334f1150b881333f12a311ae9ef34da474.png344f1150b881333f12a311ae9ef34da474.png

posted on 2006-09-09 16:08 JavaCoffe 阅读(834) 评论(1)  编辑  收藏 所属分类: Oralce&&PL/SQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值