例:创建一个存储过程 Up_Course_Info ,查询某门课程的选修情况,包括学号姓名课程名字成绩
sql
CREATE PROCEDURE Up_Course_Info
@CourseName VARCHAR(30) -- 输入参数:课程名称
AS
BEGIN
-- 查询学生的学号、姓名、课程名称和成绩
SELECT Student.StudentID, Student.StudentName, Course.CourseName, SelectCourse.Score
FROM Student
INNER JOIN SelectCourse ON SelectCourse.StudentID = Student.StudentID
INNER JOIN Course ON SelectCourse.CourseID = Course.CourseID
WHERE Course.CourseName = @CourseName;
END
GO创建带输出参数的存储过程
输出: output
创建一个存储过程 Up_Course_Count ,获取某门课程的选修情况
sql
CREATE PROCEDURE Up_Course_Count
@CourseName NVARCHAR(100), -- 输入参数: 课程名称
@CourseCount INT OUTPUT -- 输出参数: 选修该课程的学生数
AS
BEGIN
-- 计算选修该课程的学生数
SELECT @CourseCount = COUNT(*)
FROM Course
INNER JOIN SelectCourse ON SelectCourse.CourseID = Course.CourseID
WHERE Course.CourseName = @CourseName;
END;
GO
-- 声明存储输出参数的变量
DECLARE @cntstudent INT;
-- 执行存储过程并获取选修学生数
EXEC Up_Course_Count '课程名', @cntstudent OUTPUT;
-- 打印输出结果
PRINT '选修该课程的学生数为: ' + CAST(@cntstudent AS NVARCHAR);