用pl/sql创建存储过程,根据调用时提供的学生姓名查询该学生所修课程的课程信息,在过程体中将课程号、课程名和成绩输出到输出窗口,给出过程调用语句块。
时间: 2023-07-14 10:11:52 浏览: 83
以下是一个示例的 PL/SQL 存储过程,它接受一个学生姓名作为输入参数,然后查询该学生所修课程的课程信息,将课程号、课程名和成绩输出到输出窗口:
```
CREATE OR REPLACE PROCEDURE get_course_info (student_name IN VARCHAR2)
IS
course_id courses.course_id%TYPE;
course_name courses.course_name%TYPE;
grade enrollments.grade%TYPE;
BEGIN
-- 查询该学生所修的课程信息
SELECT c.course_id, c.course_name, e.grade
INTO course_id, course_name, grade
FROM courses c, enrollments e, students s
WHERE c.course_id = e.course_id
AND e.student_id = s.student_id
AND s.student_name = student_name;
-- 输出课程信息
DBMS_OUTPUT.PUT_LINE('Course ID: ' || course_id);
DBMS_OUTPUT.PUT_LINE('Course Name: ' || course_name);
DBMS_OUTPUT.PUT_LINE('Grade: ' || grade);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('No course information found for student ' || student_name);
END;
/
```
在调用该存储过程时,需要提供一个学生姓名作为参数:
```
BEGIN
get_course_info('John Doe');
END;
```
请注意,上面的代码示例仅用于演示目的。实际情况下,可能需要根据具体要求进行修改。