Maison >base de données >tutoriel mysql >ORA-00947: Not enough values 没有足够的值

ORA-00947: Not enough values 没有足够的值

WBOY
WBOYoriginal
2016-06-07 17:27:012936parcourir

这里select classno 班级, avg(score) 平均分 into avgScore就出现了问题,改为 create or replace procedure myproc(classno1 i

执行insert的时候出现这个错误。
 
insert into 表1 values (123,2423,12);
 
表1的结构有4个column,显然插入的值只有三个,因此才会出现这个问题。
 
再加个column 的值执行后,ok。
 
倘若只想插入三个数值的话:
 
insert into 表1(a,b,c) values (123,2423,12);
 
用这个语句就可以了。
 
create or replace procedure myproc( cname1 in varchar2, semester1 in varchar2, avgScore out number)
as
begin
select classno 班级, avg(score) 平均分 into avgScore
from student s, course c, student_course_teacher sct
where s.classno=classno1
and c.cname = cname1
and sct.semester = semester1
and s.sno = sct.sno
and c.cno = sct.cno
group by classno;
end;
 
这里select classno 班级, avg(score) 平均分 into avgScore就出现了问题,改为 create or replace procedure myproc(classno1 in varchar2, cname1 in varchar2, semester1 in varchar2, avgScore out number)
 
select avg(score) 平均分 into avgScore 问题得以解决,要注意更新的值的个数与attribute的个数 保持一致。

linux

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Oralce触发器中更新本表的方法Article suivant:ORA-16038的解决