sql创建存储过程列出学生成绩
『壹』 用sql语句 创建一个修改特定学号学生成绩的存储过程
---假定变量xuehao为学号,kecheng为课程,chengji为成绩,表名内称为mytable。
CREATEPROCEDUREUpdateScore
(
@容xuehaovarchar(20),
@kechengvarchar(50),
@chengjivarchar(5)
)
AS
SETNOCOUNTOFF;
UPDATEmytableSETchengji=@chengji
WHERE(xuehao=@xuehao)AND(kecheng=@kecheng)
GO
『贰』 用SQL语句创建存储过程查询男或女同学的最高成绩
mysql:
create procere pro_getMax($sex varchar(2))
begin
select max(score) from tb_scores where sex=$sex;
end
sqlserver:
create procere pro_getMax
@sex varchar(2))
AS
begin
select max(score) from tb_scores where sex=@sex
end
『叁』 SQL,创建一个存储过程,接收学生姓名后返回该学生的课程总成绩。怎样做
我给你来写个例子:自
create procere getTotal
@studentname varchar(6),
@zongchengji int output //output表示输出参数
as
//假如,表中已给出总成绩
select @zongchengji=total from table where name=@studentname
go
这个存储过程大概是这样
『肆』 SQL创建一个存储过程,当变量输入一个学生的姓名的时候,返回这个学生的姓名,选修课程名称,成绩。
两个表靠什么字段关联?
还有这个靠一个sql语句就能跑出来,不用存储过程
『伍』 sql serve创建存储过程,查询指定学生的学号、姓名、课程名、成绩
if (exists (select * from sys.objects where name = 'proc_stu'))
drop proc proc_stu
go
create proc proc_stu(@sname varchar(8) ='张%')
as
select Student.sno,sname,lname,grade
from Student left join SC on Student.sno=SC.sno
left join Lesson on SC.lno=Lesson.lno
where sname like @sname
go
『陆』 用SQL语句创建存储过程查询男同学语文成绩,还有名字
if (exists (select * from sys.objects where name = 'proc_stu'))
drop proc proc_stu
go
create proc proc_stu(@sname varchar(8) ='张%')
as
select Student.sno,sname,isnull(lname,'') as lname,isnull(grade,0) as grade
from Student left join SC on Student.sno=SC.sno
left join Lesson on SC.lno=Lesson.lno and
where SC.sname=@sname
go
『柒』 在sql中如何创建一个存储过程查询指定姓名的学生信息。
create proc p_姓名
as
select * from 学生表
where 姓名="你指定的学生姓名"
『捌』 创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名和成绩.(SQL SERVER)
/*创建存储过程*/
CREATE PROCEDURE proc_select--建立存储过程
@Sno char(10) output,--输入输出参数
@Sname varchar(20) out,--输出参数
@Cno char(4) out,--输出参数
@grade tinyint out--输出参数
AS
SELECT @Sname=Sname,@Sno=Student.Sno,@Cno=cno,@grade=grade --select里面写输出参数
FROM Student,SC --从学生表,选修表中查询
where @Sno=Student.Sno--where里面写输入参数
/*根据给定学号查询*/
CREATE PROC proc_lab4 --存储过程中含有游标
@Sno char(10)
as
declare @ssno char(10),@ssname char(20),@ccname char(20),@scg int--声明四个变量
declare cursor_s cursor--声明游标
for
select Student.Sno,Sname,Cname,grade
from Student,Course,SC--从三个表中选择学号、姓名、课程名、成绩
where Student.Sno=SC.Sno and Course.Cno=SC.Cno and Sname=@Sname;--连接
open cursor_s--打开游标
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
while @@fetch_status=0
begin
print @ssno+@ssname+@ccname+convert(char(10),@scg)
fetch next from cursor_s into @ssno,@ssname,@ccname,@scg
end
close cursor_s--关闭游标
deallocate cursor_s--释放游标
exec proc_lab4 '201215121'
--只带输入参数
CREATE PROC p2
@sno char(10)
as
select Student.Sno,Sname,Cname,grade
from Student,SC,Course
where Student.Sno=SC.Sno and SC.Cno=Course.Cno
and Sname=@sname
(8)sql创建存储过程列出学生成绩扩展阅读:
创建存储过程基本语法
create procere sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
以上格式还可以简写成:
create proc sp_name
@[参数名] [类型],@[参数名] [类型]
as
begin
.........
end
/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/
『玖』 建立存储过程‘p1’,实现查询某学号学生的成绩最高分,最低分。用SQL来实现
create proc p1(@XH varchar(10)) as
select max(grade) 最高分,min(grade) 最低分
from SC
where Sno=@XH
『拾』 用SQL创建储存过程能够查询出选修任何课程的学生信息及相应的分数的程序怎么写
create proc proc_name--这里可有可无参数,具体得看业务需求as select * from 表 where 条件go exec proc_name --调用就行了