创建一个存储过程,给定某学生学号,要求查询出该学生的姓名,所选课程名和成绩.(SQL SERVER)

 我来答
莫道無情
2019-06-28 · TA获得超过1.5万个赞
知道答主
回答量:317
采纳率:100%
帮助的人:8.5万
展开全部

/*创建存储过程*/

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

扩展资料:

创建存储过程基本语法

create procedure sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

以上格式还可以简写成:

create proc sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

/*注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头*/

参考资料:百度百科-存储过程

cmxhyc
2016-12-12 · 超过61用户采纳过TA的回答
知道小有建树答主
回答量:216
采纳率:100%
帮助的人:95.7万
展开全部
select name,course,grades from student s
left join course c on c.sid = s.sid
left join achievement a on a.cid = c.cid
where s.id = 10
追问
这个没有创建存储过程吧。。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冇挽
2018-06-17
知道答主
回答量:1
采纳率:0%
帮助的人:856
展开全部
创建过程:
CREATE PROCEDURE PROC_STU
@SNO NCHAR(9)
AS
SELECT SNAME,CNAME,GRADE
FROM S JOIN SC ON S.SNO=SC.SNO JOIN C ON SC.CNO=C.CNO
WHERE SNO=@SNO
调用过程:
DECLARE @SNO NCHAR(10)
SET @SNO='161343001'
EXEC PROC_STU @SNO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式