Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2011, 11:16
Fernando_net
 
Fecha de Ingreso: marzo-2010
Mensajes: 191
Antigüedad: 14 años, 1 mes
Puntos: 3
Exclamación Problema con un Trigger

Hola a todos.

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
  1. CREATE OR REPLACE FUNCTION nuevo_stock() RETURNS trigger as $$
  2. DECLARE
  3.     resultado INTEGER;
  4. BEGIN
  5.     resultado = (SELECT stock FROM producto WHERE codigo=NEW.producto) - NEW.cantidad;
  6.     UPDATE producto SET stock = resultado WHERE codigo = NEW.producto;
  7.     RETURN NEW;
  8. END;
  9. $$ 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 :)