我收到此错误,我尝试修复失败而未成功,我已经控制了用于该触发器的表,但是它不起作用。 这是代码,
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;
这是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);