Oracle之创建存储过程SQL语句
一、某学生成绩大于60分,输出good;某学生成绩小于60分输出oh no。(在输出中查看信息)
~需要一张成绩表单,包含成绩信息和学生学号。 1、创建存储过程。
create or replace procedure myprocedure(sid in number) as exam number; begin select * from score where sid=score.userid; dbms_output.put_line(exam); if exam>60 then dbms_output.put_line(good); else dbms_output.put_line(oh no); end if; end myprocedure;
2、调用该存储过程,括号内为学生学号。
begin myprocedure(1007); end;
二、若全班平均成绩大于等于60分,输出good;若平均成绩小于60分,每位同学成绩在原来基础上+5分(做循环),直到输出为good,停止循环。
~需要一张成绩表单,包含所有学生成绩。 1、创建存储过程。
create or replace procedure system.scr_pro as avgscnum number; begin select avg(scnum) into avgscnum from system.score; while avgscnum<60 loop select avg(scnum) into avgscnum from system.score; dbms_output.put_line(avgscnum); if avgscnum>=60 then dbms_output.put_line(good); else update system.score set scnum=scnum+5; end if; end loop; end scr_pro;
2、调用该存储过程。
begin system.scr_pro; end;
~注: 1、空格、分号在英文状态下输入; 2、千万不要忘记,该写分号时,一定不能忘(自己就吃了亏); 3、敲代码,练习自己的逻辑思维。