Veréis, estoy haciendo un disparador que controla el stock de un producto. El caso es que por mucho que en la tabla sea del tipo INTEGER y en el trigger también (cuando hago el Update), me dice el siguiente error:
ERROR: la sintaxis de entrada no es válida para integer: «48.00»
CONTEXT: PL/pgSQL function "nuevo_stock" line 6 at asignación
********** Error **********
ERROR: la sintaxis de entrada no es válida para integer: «48.00»
Estado SQL:22P02
Contexto:PL/pgSQL function "nuevo_stock" line 6 at asignación
Pero por mucho que vea la function, no veo ningún error
Aquí lo tenéis:
Código PostgreSQL:
Ver original
CREATE OR REPLACE FUNCTION nuevo_stock() RETURNS trigger as $$ DECLARE resultado INTEGER; BEGIN resultado = (SELECT stock FROM producto WHERE codigo=NEW.producto) - NEW.cantidad; UPDATE producto SET stock = resultado WHERE codigo = NEW.producto; RETURN NEW; END; $$ LANGUAGE plpgsql;
I cuando hago INSERT respeto las comitas simples i en el caso de la cantidad no hay comitas, que es Integer (tanto en la consulta como en la tabla).
Entonces?
Saludos :)