oracle数据库SQL

oracle数据库,内有一个存储学生信息的表(student),包括学号(stu_id),姓名(name),年龄(age),性别(sex),班级(stu_class)。存... oracle数据库,内有一个存储学生信息的表(student),包括学号(stu_id),姓名(name),年龄(age),性别(sex),班级(stu_class)。存储课程信息的表Course,包括课程号(co_id),课程名(co_name),课程性质(status)(即基础课、专业基础课、专业课、专业选修课等等)。存储学生成绩的关系表score,包括学号(stu_id),课程号(co_id),课程成绩(score)。

1、写出创建此数据库表的sql语句(student,course,score三个表任意写一个创建语句)

2、给表course的课程号(co_id)字段添加主键约束,给成绩表score的课程号(co_id)字段添加外键约束,其中主表是course,从表示score,写出sql语句

3、向score表中插入一条记录,写出此sql语句

4、查询课程成绩大于80分的学生姓名和课程名,写出sql语句

5、编写函数返回女同学的平均课程成绩是多少(女同学:sex=’ 女),写出sql语句

6、编写存储过程,更新学生成绩表score的课程成绩(score)字段,更新语句为:update score set score=newscore where stu_id=stuid and co_id=coid其中新的成绩,学号,课程号作为传人的形式参数,定义为:newscore in number,stuid in varchar2,coid in varchar2,写出此sql语句
展开
 我来答
请叫我召哥
2014-06-16 · TA获得超过792个赞
知道小有建树答主
回答量:572
采纳率:95%
帮助的人:379万
展开全部
1、写出创建此数据库表的sql语句(student,course,score三个表任意写一个创建语句)
CREATE TABLE STUDENT
(
stu_id VARCHAR2(20),
name VARCHAR2(20),
Age INTEGER,
sex CHAR(2),
stu_class VARCHAR2(12)

)
2、给表course的课程号(co_id)字段添加主键约束,给成绩表score的课程号(co_id)字段添加外键约束,其中主表是course,从表示score,写出sql语句
ALTER TABLE COURSE ADD CONSTRAINT COURSE_P_COID PRIMARY KEY (CO_ID);
ALTER TABLE SCORE ADD CONSTRAINT SCORE_F_COID FOREIGN KEY(CO_ID) REFERENCES COURSE(CO_ID) ;

3、向score表中插入一条记录,写出此sql语句
INSERT INTO SCORE VALUES ('1111000',1,90);

4、查询课程成绩大于80分的学生姓名和课程名,写出sql语句
SELECT B.NAME,C.CO_NAME FROM SCORE A,STUDENT B,COURSE C
WHERE A.STU_ID=B.STU_ID
AND A.CO_ID=C.CO_ID
AND A.SCORE>80
5、编写函数返回女同学的平均课程成绩是多少(女同学:sex=’ 女),写出sql语句
CREATE OR REPLACE FUNCTION FUN_GETSCORE
RETURN NUMBER
IS
V_SCORE NUMBER;

BEGIN
SELECT AVG(A.SCORE) INTO V_SCORE FROM SCORE A,STUDENT B
WHERE A.STU_ID=B.STU_ID
AND B.SEX='女';
RETURN V_SCORE;
END;
6、编写存储过程,更新学生成绩表score的课程成绩(score)字段,更新语句为:update score set score=newscore where stu_id=stuid and co_id=coid其中新的成绩,学号,课程号作为传人的形式参数,定义为:newscore in number,stuid in varchar2,coid in varchar2,写出此sql语句
CREATE OR REPLACE PROCEDURE P_UPDATE_SCORE(newscore in number,stuid in varchar2,coid in varchar2)
AS

BEGIN
update score set score=newscore where stu_id=stuid and co_id=coid;
COMMIT;
END;
万山数据
2024-11-14 广告
数据仓库处理是北京万山数据科技有限公司的核心业务之一。我们专注于高效、安全地处理大规模数据,通过先进的数据仓库技术,实现数据的集成、存储、管理和分析。我们的数据仓库解决方案能够支持复杂的数据查询和分析需求,提供实时的数据洞察,助力企业做出更... 点击进入详情页
本回答由万山数据提供
陈c桂g峰f
2014-06-16
知道答主
回答量:24
采纳率:0%
帮助的人:5.8万
展开全部
投影图一天、
追问
大概什么时候?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-06-16
展开全部
建议查看oracle数据库手册,基础的上面都有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e415e6e
2014-06-16 · TA获得超过136个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:151万
展开全部
其实都是一些很简单的问题,好好看书应该能解决。我这给你写几个,以供参考。
1、create table student( stu_id varchar2(10) NOT NULL, name varchar2(20) NOT NULL, age number(3) default 0, sex varchar2(2) default '男', stu_class varchar2(10) default ' ');
2、alter table course add constraint pk_id primary key(co_id);
alter table score add constraint fk_id foreign key(co_id) reference course(co_id);
3、 insert into score values(1111111, 1212, 90);
4、
select score.stu_id, student.name, course.co_name
from score, student, course
where score > 80
and score.stu_id = student.stu_id
and score.co_id = course.co_id
5、
create or replace function avg_score ( sex varchar2)
return number
is
v_avgscore
begin
select avg(score) into v_avgscore
from score, student
where score.stu_id = student.stu_id
and student.sex = sex;
return v_avgscore;
exception
dbms_output.put_line(sqlcode||'-'||sqlerrm);
end avg_score;
6、
create or replace procedure update_score
( newscore in number,
stuid in varchar2,
coid in varchar2)
is
begin
update score
set score=newscore
where stu_id=stuid
and co_id=coid;
commit;
exception
dbms_output.put_line(sqlcode||'-'||sqlerrm);
end update_score;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式