sql - PostgreSQL "relation does not exist" -
i have error:
--------------------------- pgadmin iii --------------------------- error has occurred: error: relation "utilizzo" not exist line 1: select costoutilizzo utilizzo join prenotazi... ^ query: select costoutilizzo utilizzo join prenotazione on prenotazione.smartcard=utilizzo.smartcard , utilizzo.dataora=prenotazione.dataora smartcard=prenotazione.smartcard , dataora=prenotazione.dataora context: pl/pgsql function "progettobd1".gestione_riduzione() line 8 @ sql statement --------------------------- ok ---------------------------
coming function , following trigger
create function gestione_riduzione() returns trigger $$ declare costo integer; x integer; y integer; tariffa integer;--i parametri che sto passando sono la chiave di prenotazione e le date su cui devo fare calcoli begin select costoutilizzo costo utilizzo join prenotazione on prenotazione.smartcard=utilizzo.smartcard , utilizzo.dataora=prenotazione.dataora smartcard=prenotazione.smartcard , dataora=prenotazione.dataora;--qua tiro fuori il costo complessivo su cui aggiungere la penale select valore tariffa tariffa join vettura on vettura.tipo=tariffa.tipo join prenotazione on prenotazione.targa=vettura.targa smartcard=prenotazione.smartcard , dataora=prenotazione.dataora; x=new.dataritiro-old.dataritiro; y=old.dataconsegna-new.dataconsegna; costo=costo+tariffa*(x+y); update prenotazione set costoprenotazione=costo smartcard=prenotazione.smartcard , dataora=prenotazione.dataora; end; $$ language plpgsql; create trigger riduzione before update on prenotazione each row when(((new.dataritiro>=old.dataritiro) , (new.datariconsegna<=old.datariconsegna)) , ((new.datariconsegna-new.dataritiro)!= (old.datariconsegna-old.dataritiro))) execute procedure gestione_riduzione();
the tables i'm using these part of code following:
create table prenotazione ( dataora date, dataritiro date not null, datariconsegna date not null, annullamento boolean default false, penale integer, costoprenotazione integer, smartcard integer references abbonamento(smartcard), primary key(dataora, smartcard) , targa varchar(7) references vettura(targa) ) create table utilizzo ( dataritiro date, dataconsegna date not null, costoutilizzo integer not null, dataora date, smartcard integer, foreign key (dataora,smartcard) references prenotazione(dataora,smartcard), targa varchar(7) references vettura(targa), primary key (dataritiro, targa) )
the error occurs after editing of prenotazione's row, when i'm trying change value of dataritiro or datariconsegna. i'm stuck it, need help. thank in advance.
Comments
Post a Comment