Oracle:存储过程的使用

Oracle:存储过程的使用

  • 以sys身份登录,创建用户c##zs,密码111,分配dba角色

  • 以c##zs身份登录,导入数据表

  • 编写存储过程,根据学生学号,查询出学生所选课程成绩等级,

  • 打印结果示例:

    1801001 张三 Oracle A

    1801001 张三 Java C

参考代码:

create or replace procedure p_studentid(p_sid in char)
is
v_grade number;
begin
for student in(
select s.student_id,s.sname,c.cname,sc.grade
from student s, sc,course c
where s.student_id = sc.student_id and
sc.course_id = c.course_id and s.student_id = p_sid
)loop

v_grade := student.grade;
if v_grade >= 90 then
dbms_output.put_line(student.student_id || student.sname || student.cname || 'A');
elsif v_grade >= 80 then
dbms_output.put_line(student.student_id || student.sname || student.cname || 'B');
elsif v_grade >= 70 then
dbms_output.put_line(student.student_id || student.sname || student.cname || 'c');
elsif v_grade >=60 then
dbms_output.put_line(student.student_id || student.sname || student.cname || 'D');
else
dbms_output.put_line(student.student_id || student.sname || student.cname || 'E');
end if;

end loop;
end p_studentid;

set serveroutput on
begin
p_studentid('1801001');
end;

posted @ 2018-11-26 15:34  struggle6  阅读(156)  评论(0)    收藏  举报