用PL/SQL书写:.创建存储过程,根据调用时提供的学生姓名查询该学生所修课程的课程信息,在过程体中将课程号、课程名和成绩输出到输出窗口,给出过程调用语句块。
时间: 2023-06-26 18:07:38 浏览: 75
下面是一个示例代码,实现了根据学生姓名查询所修课程的课程信息的存储过程:
```sql
CREATE OR REPLACE PROCEDURE get_student_courses(
student_name IN VARCHAR2
)
AS
course_id NUMBER;
course_name VARCHAR2(100);
score NUMBER;
BEGIN
-- 查询学生所选课程的信息
SELECT c.course_id, c.course_name, s.score
INTO course_id, course_name, score
FROM courses c
JOIN student_courses s ON c.course_id = s.course_id
JOIN students st ON st.student_id = s.student_id
WHERE st.student_name = student_name;
-- 输出课程信息到输出窗口
DBMS_OUTPUT.PUT_LINE('Course ID: ' || course_id);
DBMS_OUTPUT.PUT_LINE('Course Name: ' || course_name);
DBMS_OUTPUT.PUT_LINE('Score: ' || score);
END;
/
```
调用语句块如下:
```sql
DECLARE
student_name VARCHAR2(100) := '张三';
BEGIN
get_student_courses(student_name);
END;
```
其中,`student_name` 是输入参数,代表要查询的学生姓名。在过程体中,我们使用 `SELECT INTO` 语句查询学生所选课程的信息,并将结果存储在变量 `course_id`、`course_name` 和 `score` 中。然后,我们使用 `DBMS_OUTPUT.PUT_LINE` 函数将课程信息输出到输出窗口。最后,我们可以通过一个调用语句块来调用这个存储过程,传递学生姓名作为参数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)