提示:带有编译错误  代码如下  谢谢各位帮忙哈~~~~create or replace procedure S_grade
(S_cno in SC.cno%TYPE)
as avg_grade SC.grade%TYPE;
begin
select avg(grade),cno into avg_grade,S_cno
from SC
where cno like S_cno;
dbms_output.put_line(avg_grade)
end;

解决方案 »

  1.   

    create or replace procedure S_grade 
    (S_cno SC.cno%TYPE) 
    as 
      avg_grade SC.grade%TYPE; 
    begin 
      select avg(grade),cno into avg_grade,S_cno 
        from SC 
       where cno like S_cno; 
      dbms_output.put_line(avg_grade); 
    end;
      

  2.   

    select avg(grade),cno into avg_grade,S_cno 
    from SC 
    where cno like S_cno;这个SQL不对,既然用到了统计函数avg,应该需要用group by之类 或者不选出cno字段, 比如下面两种都是可以的select avg(grade),cno into avg_grade,S_cno 
    from SC 
    where cno like S_cno group by cno;或者
    select avg(grade) into avg_grade
    from SC 
    where cno like S_cno;
      

  3.   


    dbms_output.put_line(avg_grade) 后加;,是英文状态下的分号