J'essaie de créer un déclencheur simple mais j'ai obtenu une erreur en dessous. J'ai cherché sur internet mais je n'ai pas trouvé la solution. Pourriez-vous m'aider sur cette question?Oracle SP2-0552: La variable de liaison "NEW" n'est pas déclarée
create trigger ProcessTigger before insert on T039
for each row
declare consecutivo int; idconsecutivo int; maxconsecutivo int;
begin
select t326c004 into consecutivo from T326 where t326c003 = 'T039' and t326c002 = :new.t039c004;
if consecutivo is not null
then
consecutivo :=consecutivo+1;
select t326c001 into idconsecutivo from T326 where t326c002 = :new.t039c004 and t326c003=T039;
update T326 set t326c004 = consecutivo where t326c001=idconsecutivo and t326c003=T039;
else
select max(t039c003) into maxconsecutivo from T039 where t071c002=:new.t039c004;
if maxconsecutivo is not null
then consecutivo := maxconsecutivo+1;
else consecutivo:=1;
end if;
insert into T326
(t326c002,t326c003,t326c004)values(:new.t039c004,'T039',consecutivo);
end if;
end;
ERREUR:
SP2-0552: bind variable "NEW" est pas déclarée.
Alors, c'est quoi? ORA-04071, le déclencheur manque la clause BEFORE/AFTER/INSTEAD OF? Ou SP2-0552, La variable "NEW" n'est pas déclarée? Oracle jette une erreur à la fois, donc ** ne peut pas ** être les deux. – mathguy
désolé je me suis trompé dans le titre de la question. La question était Or SP2-0552, La variable "NEW" n'est pas déclarée –
Utilisez le petit lien 'edit' situé en dessous de votre message pour l'éditer - vous pouvez changer le titre pour qu'il corresponde à votre problème. – mathguy