过程头部如下所示,某系统有选课表SC(SNO,CNO,GRADE),下表是SC表中的数据,为简单起见,只显示5条,另做一个假定只有数学、语文和英语三门课。
学号 课程号 成绩
95001 数学 75
95001 语文 92
95002 英语 64
95002 英语 77
95003 数学 85
… … …
要求如下:
1、创建一张新表,SC_TOTAL,由学号、数学、语文、英语、平均分等列组成,数学、语文、英语、平均分等列类型为number(5,2),学号为主键,写出创建该表的DDL语句:
CREATE TABLE SC_TOTAL (学号 VARCHAR(10),数学 NUMBER(5,2),语文 NUMBER(5,2),英语 NUMBER(5,2),平均分 NUMBER(5,2),PRIMARY KEY(学号))
2、要求使用游标遍历的方式,将SC表的值全部更新到SC_TOTAL的各列中,并计算平均分,需要注意的是,如果95001没有选择英语课,成绩必须设置为null,以便于和0分区别,在平均分的计算中,只能算2门课,而不是3门。
create or replace procedure Prc_SC_total is
. . .
END Prc_SC_total;
学号 课程号 成绩
95001 数学 75
95001 语文 92
95002 英语 64
95002 英语 77
95003 数学 85
… … …
要求如下:
1、创建一张新表,SC_TOTAL,由学号、数学、语文、英语、平均分等列组成,数学、语文、英语、平均分等列类型为number(5,2),学号为主键,写出创建该表的DDL语句:
CREATE TABLE SC_TOTAL (学号 VARCHAR(10),数学 NUMBER(5,2),语文 NUMBER(5,2),英语 NUMBER(5,2),平均分 NUMBER(5,2),PRIMARY KEY(学号))
2、要求使用游标遍历的方式,将SC表的值全部更新到SC_TOTAL的各列中,并计算平均分,需要注意的是,如果95001没有选择英语课,成绩必须设置为null,以便于和0分区别,在平均分的计算中,只能算2门课,而不是3门。
create or replace procedure Prc_SC_total is
. . .
END Prc_SC_total;
解决方案 »
- 数据库之间的同步
- win7安装oracle11gr2client(都是64位的)问题反馈,求解决
- 请教排序所用内存
- 各位大虾请进急,XPsp1下如何安装oracle9i(虎头版)
- oracle 作档案系统,怎么保存大文件
- 在客户端连两个不同字符集的数据库的问题??
- 菜鸟问题: oracle的Enterprise Manager Console是什么,怎么用???
- 請問如何從ORACLE數據庫中將數據導入到SQL SERVER 2000數據庫?
- net服务名的配置的问题
- 求sql语句:执行建库和建库内相应配置,是不可视的!
- 新手求教:ORA-01422: 实际返回的行数超出请求的行数
- 如何以查询改变某列作为外键并更新数据?
95001 数学 75
95001 语文 92
95002 英语 64
95002 英语 77
95003 数学 85
你确定同一个学号有重复的课程号?