8.创建一个存储过程,查询某个学生某门课程的考试成绩(学生名和课程名为输入参数),要求显示姓名,课名和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.创建一个存储过程,查询某个学生某门课程的考试成绩(学生名和课程名为输入参数),要求显示姓名,课名和相关的知识,希望对你有一定的参考价值。

语句这样,你看符不符合
Create proc proc1 @sname char(20),@cname char(20)
As
Select t1.学生,t1.姓名,t2.课程,t3.选修,t3.成绩
From 学生 t1,课程 t2,选修 t3
Where t1.学生=t3.学生
and t2.课程=t3.课程

条件内容就是把这三张表关联起来
参考技术A create proc 取一个过程名 @学生名 char(数值),@课程名 char(数值)
as
select @学生名 @课程名 成绩名
from 该表名
where 该表学生名字段=@学生名 and 该表课程名字段=@课程名
go
exec 刚取得那个过程名 ‘随便取一个学生名验证’,‘随便取一个课程名验证’
参考技术B 我不会说是余盛城提问的.......追问

呵呵 呵呵!好狗 好狗 其实我是方思铮

参考技术C 我是蔡院,你哪个班的?叫什么名字,我直接给你满分。 参考技术D 不知道你的那个表结构是什么样的,你可以参照我这个改改。
PROCEDURE GET_SCORE_BY_STUNAME_CLSNAME(STU_NAME_ IN VARCHAR2,
CLS_NAME_ IN VARCHAR2) IS
sname_ varchar2(30);
cname_ varchar2(100);
s_ number;
CURSOR GET_SCORE IS
SELECT STU_NAME, CLS_NAME, SCORE
FROM STU_CLS_SCORE
WHERE STU_NAME = STU_NAME_
AND CLS_NAME = CLS_NAME_;

BEGIN
OPEN GET_SCORE;
FETCH GET_SCORE INTO sname_,cname_,s_;
CLOSE GET_SCORE;
dbms_output.put_line('stu_name'||'CLS_NAME'||'SCORE');
dbms_output.put_line(sname_||cname_||s_);
END GET_SCORE_BY_STUNAME_CLSNAME;追问

Create proc proc1 @sname char(20),@cname char(20)
As
Select 学生,姓名,课程,选修,成绩
From 学生,课程,选修 inner join
Where

接下来的就不会了
原题
创建一个存储过程,查询某个学生某门课程的考试成绩(学生名和课程名为输入参数),要求显示姓名,课名和成绩。

本回答被提问者和网友采纳

SQL,创建一个存储过程,接收学生姓名后返回该学生的课程总成绩。怎样做?

我给你写个例子:
create procedure getTotal
@studentname varchar(6),
@zongchengji int output //output表示输出参数
as
//假如,表中已给出总成绩
select @zongchengji=total from table where name=@studentname
go
这个存储过程大概是这样追问

太大概了。你就看看我的问题在哪里好了:
use student
go
if exists
(select name from sysobjects
where name='stu_info_pro' and type='p')
drop proc stu_info_pro
go
use student
go
create proc stu_info_pro
(@sname char(10))
as
select sum(result)'总成绩'
go
select a.student_name,b.result
from result_info a join student_info b
on a.student_id=b.student_id
and student_name=@sname
go

追答

你最终要得到的结果是学生姓名和总成绩,你光查询出来了,但没有显示呀。你可以定义一个变量来接收你查询的结果,然后再打印出来就行了。比如:
declare @name varchar(8),@sum int
select
@name=a.student_name,@sum=b.result //定义变量接收查询的结果
from result_info a join student_info b
on a.student_id=b.student_id
and student_name=@sname
print @name+convert(varchar(8),@sum) //在存储过程里面打印

追问

其实我的查询过程都有问题。 并没有显示命令已完成。 不过还是谢谢你,现在我已经解决了。

参考技术A 姓名=@aa 我有学生表和成绩表.不知道怎么做的.谢谢! 两个表靠什么字段关联? 还有这个靠一个sql语句就能跑出来,不用存储过程追问

我汗。。。 如果是SQL的话,应该是student_id吧,如果你的表建立的没得问题的话。

以上是关于8.创建一个存储过程,查询某个学生某门课程的考试成绩(学生名和课程名为输入参数),要求显示姓名,课名和的主要内容,如果未能解决你的问题,请参考以下文章

JAVA:编写一个学生成绩管理系统。学生的属性包括学号、姓名、年龄等。

sql serve创建存储过程,查询指定学生的学号、姓名、课程名、成绩

建立一个存储过程student_info,要求根据班级查询学生的学号、姓名、课程号和分数(表结构如表2,表3)

数据库触发器问题

SQL,创建一个存储过程,接收学生姓名后返回该学生的课程总成绩。怎样做?

在StudentInfo数据库中完成下面查询: 题目在补充里