/*定义过程参数*/
create or replace procedure scott.graduateprocess(
tempzhengzhi in scott.graduate.zhengzhi%type,
tempyingyu in scott.graduate.yingyu%type,
tempzhuanye1 in scott.graduate.zhuanye1%type,
tempzhuanye2 in scott.graduate.zhuanye2%type,
tempzhuanye3 in scott.graduate.zhuanye3%type,
temptotalscore in scott.result.totalscore%type) as
/*定义graduaterecord为记录型变量,临时存放通过游标从graduate数据表中提取的记录*/
graduaterecord scott.graduate%rowtype;
/*定义graduatetotalscore为数值型变量,统计总分*/
graduatetotalscore scott.result.totalscore%type;
/*定义graduateflag为字符型变量,根据结果放入“落选”或“录取”,然后写入数据表result*/
graduateflag varchar2(4);
/*定义游标graduatecursor,存放的是所有的graduate数据表中的记录*/
cursor graduatecursor is
select * from scott.graduate;
/*定义异常处理errormessage*/
errormessage exception;
/*开始执行*/
begin
/*打开游标*/
open graduatecursor;
/*如果游标没有数据,激活异常处理*/
if graduatecursor%notfound then
raise errormessage;
end if;
/*游标有数据,指针指向第一条记录,每执行fetch命令,就自动下移,循环执行到记录提取完毕为止*/
loop
fetch graduatecursor into graduaterecord;
/*计算总分*/
graduatetotalscore:=graduaterecord.yingyu+graduaterecord.zhengzhi+graduaterecord.zhuanye1+graduaterecord.zhuanye2+graduaterecord.zhuanye3;
/*判断单科和总分是否满足录取要求,若满足,graduateflag变量值为“录取”,否则为“落选”*/
if (graduaterecord.yingyu>=tempyingyu and
graduaterecord.zhengzhi>=tempzhengzhi and
graduaterecord.zhuanye1>=tempzhuanye1 and
graduaterecord.zhuanye2>=tempzhuanye2 and
graduaterecord.zhuanye3>=tempzhuanye3 and
graduatetotalscore>=temptotalscore) then
graduateflag:='录取';
else
graduateflag:='落选';
end if;
/*当游标数据提取完毕后,退出循环”*/
exit when graduatecursor%notfound;
/*向结果数据表result中插入处理后的数据*/
insert into scott.result(bh,xm,lb,zhengzhi,yingyu,zhuanye1,zhuanye2,zhuanye3,totalscore,flag) values(graduaterecord.bh,graduaterecord.xm,graduaterecord.lb,graduaterecord.zhengzhi,graduaterecord.yingyu,graduaterecord.zhuanye1,graduaterecord.zhuanye2,graduaterecord.zhuanye3,graduatetotalscore,graduateflag);
end loop;
/*关闭游标*/
close graduatecursor;
/*提交结果*/
commit;
/*异常处理,提示错误信息*/
exception
when errormessage then
dbms_output.put_line('无法打开数据表');
/*程序执行结束”*/
end;
没有合适的资源?快使用搜索试试~ 我知道了~
Oracle 9i教程随书资源
共186个文件
sql:159个
frm:13个
vbp:5个
需积分: 0 10 下载量 25 浏览量
2009-08-10
20:12:45
上传
评论
收藏 9.15MB RAR 举报
温馨提示
由于上传限制,这是我的另一个资源“Oracle 9i教程”的随书资源”
资源推荐
资源详情
资源评论
收起资源包目录
Oracle 9i教程随书资源 (186个子文件)
Module1.bas 1KB
jinit11810.exe 9.29MB
Graduate.exe 140KB
FormUpdateGraduate.frm 24KB
FormUpdateDirector.frm 16KB
FormUpdateMajor.frm 14KB
FormInsertGraduate.frm 10KB
FormSelectGraduate.frm 10KB
frmInquiresinfo.frm 10KB
FormSelectDirector.frm 10KB
FormInsertDirector.frm 8KB
FormInsertMajor.frm 4KB
frmMain.frm 4KB
Form3.frm 3KB
Form2.frm 3KB
Form1.frm 2KB
init.ora 3KB
creategraduateprocess.sql 2KB
table41.sql 2KB
insertstudent.sql 2KB
insertgraduate.sql 1KB
insertdirector.sql 570B
createtempuser.sql 557B
createstudent.sql 529B
mainprocess.sql 523B
mainprocess2.sql 523B
mainprocess1.sql 523B
tabletypedefine3.sql 507B
createscottprocedure.sql 491B
createresult.sql 454B
createrole.sql 447B
createprofile.sql 443B
notfoundattribute.sql 437B
foundattribute.sql 434B
createtablegraduateinfo.sql 419B
isopenattribute.sql 405B
tabletypedefine1.sql 402B
createdirector.sql 380B
creategraduate.sql 377B
conditioncontrol3.sql 376B
exceptiondefine.sql 351B
executescottprocedure.sql 330B
createtabledirectorinfo.sql 319B
cursorfetch.sql 319B
rowcountattribute.sql 316B
loopcontrol1.sql 305B
creategraduateuser.sql 279B
recordtypedefine.sql 278B
createprocedure.sql 277B
tabletypedefine2.sql 273B
inserttesttable.sql 269B
loopcontrol2.sql 264B
conditioncontrol2.sql 256B
whilecontrol.sql 253B
forcontrol.sql 242B
createtempuser-1.sql 232B
testcheck.sql 201B
conditioncontrol1.sql 196B
cursordefine.sql 191B
createrollbacksegment.sql 185B
table42.sql 180B
createtempuser-2.sql 180B
createtablemajorinfo.sql 179B
rowtypedefine.sql 178B
createdatafile.sql 168B
433.sql 161B
446.sql 157B
createtablespace.sql 154B
datacompute.sql 150B
createtempuser-3.sql 139B
createcheck.sql 136B
432.sql 133B
462.sql 133B
createtesttable.sql 132B
createsequence.sql 130B
444.sql 128B
445.sql 127B
443.sql 127B
createviewgraduate.sql 126B
selectview.sql 125B
482.sql 125B
442.sql 125B
463.sql 125B
createview.sql 124B
createviewdirector.sql 124B
441.sql 123B
createindexgraduate.sql 120B
createindexdirector.sql 118B
createviewmajor.sql 118B
445-2.sql 107B
createredologgroup.sql 105B
444-2.sql 105B
443-2.sql 105B
updatestudent.sql 97B
createindex.sql 94B
427-1.sql 93B
481.sql 91B
427-2.sql 90B
createsequencetable.sql 90B
461-2.sql 89B
共 186 条
- 1
- 2
资源评论
xiaocheng402
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功