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;