sql创建存储过程P_ds,输入系部名称查询该系的学生人数(使用输出参数返回) department, major, class, student, count(sno)
时间: 2023-12-10 08:40:41 浏览: 85
以下是创建存储过程 P_ds 的 SQL 代码:
```
CREATE PROCEDURE P_ds
@department VARCHAR(50),
@student_count INT OUTPUT
AS
BEGIN
SELECT @student_count = COUNT(sno)
FROM student
WHERE class IN (
SELECT class
FROM major
WHERE department = @department
)
END
```
该存储过程输入参数为 @department,表示系部名称,输出参数为 @student_count,表示该系的学生人数。
存储过程中使用了子查询,查询该系所有专业的班级,然后再根据班级在 student 表中查询该系的学生人数。最终将学生人数赋值给输出参数 @student_count。
使用示例:
```
DECLARE @count INT
EXEC P_ds '计算机科学与技术', @count OUTPUT
SELECT @count AS '学生人数'
```
以上示例代码将查询计算机科学与技术系的学生人数,并将结果输出。
相关问题
用sql语句创建存储过程P_Co,输入的课程号查询该课程的名称与学时
下面是创建存储过程 P_Co 的 SQL 语句,实现输入课程号查询该课程的名称与学时的功能:
```
CREATE PROCEDURE P_Co
@CourseID INT
AS
BEGIN
SELECT CourseName, Period
FROM Course
WHERE CourseID = @CourseID;
END
```
在这个存储过程中,我们定义了一个参数 `@CourseID`,表示输入的课程号,然后使用 `SELECT` 语句查询 `Course` 表中对应的记录,并返回 `CourseName` 和 `Period` 两个字段的值。最后,我们将这个存储过程命名为 `P_Co`,以便在需要的时候直接调用即可。
SQL创建存储过程P_score,输入课程号查询该课程的平均成绩、最高分、最低分
下面是创建存储过程P_score的SQL代码:
```
CREATE PROCEDURE P_score
@course_id INT
AS
BEGIN
SELECT AVG(score) AS avg_score, MAX(score) AS max_score, MIN(score) AS min_score
FROM scores
WHERE course_id = @course_id;
END
```
该存储过程接受一个参数 @course_id,表示要查询的课程号。在存储过程中,使用 SELECT 语句查询该课程的平均成绩、最高分和最低分,并将结果返回。注意,在该存储过程中,我们假设成绩信息存储在名为 scores 的表中。
阅读全文