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;

猜你喜欢

转载自www.cnblogs.com/8023s/p/10020613.html