创建带输入参数的存储过程
创建一个带输入参数的存储过程proc_student,其中的输入参数用于接收课程号CNO,默认为“C601”,然后在表study中查询该成绩不几个的学生学号,接着在student表中查找这些学生的基本信息,包括学号,姓名,性别和所在系信息,最后输出。
student表的属性为SNO NAME AGE DEPT SEX
COURSE表的属性CNO CNAME
STUDY 表的属性SNO CNO GRADE..
创建一个带输入参数的存储过程proc_student,其中的输入参数用于接收课程号CNO,默认为“C601”,然后在表study中查询该成绩不几个的学生学号,接着在student表中查找这些学生的基本信息,包括学号,姓名,性别和所在系信息,最后输出。
student表的属性为SNO NAME AGE DEPT SEX
COURSE表的属性CNO CNAME
STUDY 表的属性SNO CNO GRADE..
调用: exec sp_selstu 'c601'
*/
create proc sp_selstu
@cno varchar(10)=c601
as
select SNO,Name,Sex,Dept from student a where exists(select 1 from study where sno=a.sno and cno=@cno and grade<60)
GO
有输出吗大哥?
请问下那个 a是?
select 1? ....
--建立存储过程
CREATE PROCEDURE info_stu
@CNO char ='C601', @stu_list cursorvary OUTPUT
AS
declare @STUDENTno as char
DECLARE stu CURSOR
FOR SELECT 学号=SNO ,姓名=name,所在系信息=dept FROM study a left join student b on a.sno=b.sno where a.grade='不及格' and a.CNO=@cno
set @stu_list=stu
open @stu_list
GO
]
--执行该存储过程
DECLARE @DispData CURSOR
EXECUTE info_stu @CNO,@stu_list=@DispData OUTPUT
FETCH NEXT FROM @DispData --循环输出游标内容
WHILE (@@FETCH_STATUS=0)
FETCH NEXT FROM @DispData
CLOSE @DispData
DEALLOCATE @DispData
GO
[/code]
where exists(select 1 from study,course where sno=a.sno and cno=@cno and grade<60)
create proc sp_selstu
@cno varchar(10)=c601
as
select SNO,Name,Sex,Dept from student
where exists(select 1 from study inner join course
where study.sno=student.sno and cno=@cno and grade <60)