我有这样的错误:“关系不存在” PostgreSQL的
---------------------------
pgAdmin III
---------------------------
An error has occurred:
ERROR: relation "vettura_tariffa" does not exist
LINE 2: from vettura_tariffa
^
QUERY: SELECT ( select valore
from vettura_tariffa
where new.targa=vettura.targa)
CONTEXT: PL/pgSQL function "progettoBD".costout() line 14 at assignment
---------------------------
OK
---------------------------
代码如下
create or replace function costout()
returns trigger AS
$$
DECLARE
giorno integer;
gg1 integer;
gg2 integer;
tariffa numeric(2,0) ;
costo integer;
BEGIN
gg1=extract (days from new.dataconsegna);
gg2=extract (days from new.dataritiro);
giorno=gg1-gg2;
tariffa=( select valore
from vettura join tariffa on vettura.tipotariffa=tariffa.tipo
where new.targa=vettura.targa);
costo=tariffa * giorni;
new.costoutilizzo=costo;
END;
$$ language plpgsql;
而这一次是触发代码
create trigger costo_utilizzo
after insert on utilizzo
for each row
execute procedure costout();
似乎就像它没有找到表vettura,它与其他表一样,如果我尝试一个简单的“从vettura选择*”它工作正常。 我试着换一个视图,但问题依然存在。 在“utilizzo”上插入后出现此错误。 对不起,我的英语不好,提前谢谢。
我看到两个'vettura'和'vettura_tariffa'? – fvu
'search_path'问题? –
该查询没有生成该错误。在查询中,您调用'vettura',但错误是由'vettura_tariffa'造成的。要么你看错了查询,要么你有另一个触发器 –