使用studentdb数据库中的curriculum表、grade表,创建一个存储函数num_func(),统计指定课程名称的选课人数。curriculum表中有课程名称,grade表中有学生的学号和所选课程编号
时间: 2024-10-15 13:23:33 浏览: 117
数据库实验5的实验报告
在SQL中,你可以创建一个存储函数`num_func()`来实现这个需求,通过连接`curriculum`表和`grade`表来计算指定课程的选课人数。这里是一个基本的示例:
```sql
CREATE FUNCTION num_func(@course_name VARCHAR(100))
RETURNS INT
AS
BEGIN
DECLARE @result INT;
SET @result = (SELECT COUNT(DISTINCT grade.student_id)
FROM curriculum c
JOIN grade ON c.course_id = grade.course_id
WHERE c.course_name = @course_name);
RETURN @result;
END;
```
这个函数接受一个参数`@course_name`,然后通过`JOIN`操作将`curriculum`表和`grade`表关联起来,条件是两者的课程编号相等。然后它会计算`grade`表中对应课程的学生ID数量,最后返回这个结果。
阅读全文