https://blog.csdn.net/weixin_46163590/article/details/104106169 代码片段: -注释掉了第一行 – create or replace procedure jhxtdb_t_ZQ_2020_5_9 is rec_ZQ cur_ZQ%rowtype; begin –学生ID –取学生成绩 commit; —————————————————————————————————— select sno 学号, 为何写下这段存储过程代码,是因为前几天经历一件不愉快的事情,大家应该懂得。我决定亲自尝试去做,不开始就永远不会。当然途中也有遇到BUG,不要退缩,记住;但是当你解决掉之后你会感觉浑身轻飘飘的感觉。《坚持》这两字道出,古往今来,任何成大事者的,都需要你持之以恒奋斗及坚持才能开创出一段光明的历史。 加油吧,简单叙述一下我此时此刻的心情就是。
前言:
建表语句我就不放了,只上最终代码结果图。
我是在自己本地所使用的Oracle 11g ,数据量也就几个字段,不必要使用call来调。所以使用游标的方式跑的数据,所以就注释掉了第一行红色部分;在自己本地跑的时候也要注意这点,不然报错。
存储过程概念篇详情查看以下文章链接:
declare
cursor cur_ZQ is
select sno, sname, ssex, sbirthday, sclass
from student
where sbirthday >= to_date(‘1974-6-3’, ‘YYYY-MM-DD’)
and sbirthday <= to_date(‘1977-9-01’, ‘YYYY-MM-DD’)
and sno in (select sno from score);
rec_tbl jhxtdb_t_ZQ_2020_5_9%rowtype;变量作用及代表含义:
rec_ZQ :主变量的也作用也就是主表 cur_ZQ :声明游标变量 rec_tbl:新建表的变量用途和into 后面的新字段变量 jhxtdb_t_ZQ_2020_5_9 :存储过程名和新建的最终结果表(统计表)其实就是。
open cur_ZQ; – 打开游标
loop
fetch cur_ZQ
into rec_ZQ;
exit when cur_ZQ%notfound;
rec_tbl := null;
begin
select sno
into rec_tbl.snoid
from score
where sno = rec_ZQ.sno
and rownum = ‘1’;
exception
when no_data_found then
rec_tbl.snoid := null;
end;
– 取课程号
begin
select cno
into rec_tbl.cno
from score
where sno = rec_ZQ.sno
and rownum=‘1’;
exception
when no_data_found then
rec_tbl.cno:=null;
end;
begin
select degree
into rec_tbl.degree
from score
where sno = rec_ZQ.sno
and rownum =‘1’;
exception
when no_data_found then
rec_tbl.degree:=null;
end;新建的结果表如下:它在执行的时候,查询一条,insert一条进结果表。
insert into jhxtdb_t_ZQ_2020_5_9 ( sno, sname, ssex, sbirthday, sclass, snoid, cno, degree) select rec_ZQ.sno, rec_ZQ.sname, rec_ZQ.ssex, rec_ZQ.sbirthday, rec_ZQ.sclass, rec_tbl.snoid, rec_tbl.cno, rec_tbl.degree from dual;
end Loop;
close cur_ZQ;
end;
–所建的结果表
create table jhxtdb_t_ZQ_2020_5_9(
sno varchar2(50) ,
sname varchar2(50),
ssex varchar2(50),
sbirthday date,
sclass varchar2(50),
snoid varchar2(50),
cno varchar2(50),
degree varchar2(50)
);
———————————————————————————————————
————————————————————————————————————————————————————————————统计语句:
sname 姓名,
ssex 性别,
sbirthday 日期,
sclass 班级号,
cno 课程号,
degree 成绩
from jhxtdb_t_ZQ_2020_5_9
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
call jhxtdb_t_ZQ_2020_5_9(‘有日期的话就放进来,分窗口跑快一点’);
注意点是不要重复执行存储过程及游标,不然会产生重复的数据表中,会有麻烦;当然重复了也是有解决办法的就是清表的方式,只是效率上脱节了一点。
眉头紧锁,认真解决BUG中。。。。。。
【转载注明出处,尊重原创 】
【作者水平有限,如有错误欢迎指正 .】
感悟:
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算