3) 编写一个自定义的函数,该函数接受一个学生姓名,返回该生选修课程的平均成绩。
时间: 2024-02-09 20:12:38 浏览: 30
好的,这是一个关于自定义函数的问题。下面是示例代码:
```
CREATE OR REPLACE FUNCTION get_avg_grade(p_student_name IN VARCHAR2)
RETURN NUMBER
IS
avg_grade NUMBER;
BEGIN
SELECT AVG(grade) INTO avg_grade
FROM course_grades cg
JOIN students s ON cg.student_id = s.student_id
WHERE s.student_name = p_student_name;
RETURN avg_grade;
END;
```
这个函数的名字是`get_avg_grade`,它接受一个学生姓名作为输入参数`p_student_name`。函数查询`course_grades`表和`students`表,找到对应学生的选修课程成绩,计算平均成绩并返回结果。
使用该函数的示例代码如下:
```
DECLARE
student_name VARCHAR2(50) := '张三';
avg_grade NUMBER;
BEGIN
avg_grade := get_avg_grade(student_name);
DBMS_OUTPUT.PUT_LINE(student_name || '的平均成绩为:' || avg_grade);
END;
```
这段代码调用`get_avg_grade`函数,将一个学生姓名作为输入参数传递给函数,并将函数返回的平均成绩赋值给变量`avg_grade`。最后,使用`DBMS_OUTPUT.PUT_LINE`语句输出结果。
注意:这是一个简单的示例代码,实际应用中可能需要根据具体情况进行修改。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)