1. 程式人生 > >Oracle:儲存過程的使用

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;