Я получаю эту ошибку, я пытаюсь исправить ее безуспешно, я управлял таблицей, которую я использую для этого триггера, но она не работает.
это код,
create or replace TRIGGER INSERISCITURNO
instead of insert on VistaTurno for each row
declare
ok boolean;
begin
ok := false;
for i in (select a.Giocatore from AVATAR a where a.Partita = :new.Partita ) loop
if (:new.Giocatore = i.Giocatore) then
insert into TURNO(CodTurno, NumTurno, Partita, Giocatore) values (:new.CodTurno, :new.NumTurno, :new.Partita, :new.Giocatore);
AggiornaSituazioneGiocatore(:new.Giocatore, :new.CodTurno, :new.Partita);
ok := true;
end if;
end loop;
if(ok = false) then
dbms_output.put_line('Il giocatore è in partita, inserimento fallito!');
end if;
end;
они дают мне эту ошибку при компиляции,
Errore(8,68): PLS-00049: bad bind variable 'NEW.PARTITA'
Errore(9,11): PLS-00049: bad bind variable 'NEW.GIOCATORE'
Errore(10,75): PLS-00049: bad bind variable 'NEW.CODTURNO'
Errore(10,90): PLS-00049: bad bind variable 'NEW.NUMTURNO'
Errore(10,105): PLS-00049: bad bind variable 'NEW.PARTITA'
Errore(10,119): PLS-00049: bad bind variable 'NEW.GIOCATORE'
Errore(11,39): PLS-00049: bad bind variable 'NEW.GIOCATORE'
Errore(11,55): PLS-00049: bad bind variable 'NEW.CODTURNO'
Errore(11,70): PLS-00049: bad bind variable 'NEW.PARTITA'
Пожалуйста, кто-нибудь может мне помочь? я думаю, что синтаксис хороший.
добавить VistaTurno
CREATE OR REPLACE FORCE VIEW VISTATURNO (
"CODTURNO", "NUMTURNO", "PARTITA", "GIOCATORE"
) AS
select * from TURNO;
а это турно
create table TURNO (
CodTurno integer primary key ,
NumTurno integer not null ,
Partita integer,
Giocatore integer
);
alter table TURNO
add constraint v4 check (NumTurno > 0);
alter table TURNO
add constraint fk1 FOREIGN KEY (Partita) REFERENCES PARTITA(CodPartita);
alter table TURNO
add constraint fk2 FOREIGN KEY (Giocatore) REFERENCES
GIOCATORE(CodGiocatore);
введите описание изображения здесь