Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

ayuda trigger

Estas en el tema de ayuda trigger en el foro de PostgreSQL en Foros del Web. hola a la comunidad tengo el siguiente trigger y no se porque me da error pienso que es algo que estoy haciendo mal pero no ...
  #1 (permalink)  
Antiguo 14/12/2010, 08:10
Avatar de sublevar  
Fecha de Ingreso: diciembre-2010
Mensajes: 29
Antigüedad: 14 años
Puntos: 1
ayuda trigger

hola a la comunidad tengo el siguiente trigger y no se porque me da error pienso que es algo que estoy haciendo mal pero no lo veo igual soy nuevo en esto

CREATE OR REPLACE FUNCTION "TRG_SEQ_tipo_mod_ins"()
RETURNS "trigger" AS
$BODY$
DECLARE
var varchar (8);
cod numeric (10,0);
BEGIN
SELECT codigo,tipo FROM secciones into cod, var;
IF (NEW.sec_codigo = cod) THEN
IF (var = 'MES') THEN
var:= 'ESPECIAL';
ELSEIF (var = 'MNO') THEN
var:= 'NORMAL';
END IF;
NEW.tipo := var;
Return NEW;
END IF;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
ALTER FUNCTION "TRG_SEQ_tipo_mod_ins"() OWNER TO formacio;

y este es el error que me dá,,, saludos

---------------------------
pgAdmin III
---------------------------
Ha ocurrido un error:

ERROR: numeric field overflow
DETAIL: The absolute value is greater than or equal to 10^5 for field with precision 5, scale 0.
CONTEXT: PL/pgSQL function "TRG_SEQ_mod_inscrito" line 10 at assignment
---------------------------
Aceptar
---------------------------
  #2 (permalink)  
Antiguo 14/12/2010, 09:00
Avatar de sublevar  
Fecha de Ingreso: diciembre-2010
Mensajes: 29
Antigüedad: 14 años
Puntos: 1
Respuesta: ayuda trigger

ya he arreglado mi problema,,, la solucion fué, primero que la funcion no me retornaba nada porque el return esta dentro del if, tube que cambiar el valor del tipo de dato la columna TIPO ya que le habia dado el mismo largo que el dominio,,, espero que esto sirva de ejemplo para otros programadores,,,
saluodos

pd nose como cerrar el post :(
  #3 (permalink)  
Antiguo 14/12/2010, 09:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: ayuda trigger

parece que el problema es que cod es de tipo numeric (10,0). Y se sobrepasa de sus valores.

Prueba con otro tipo de dato y verifica que por ese lado está la solución

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:46.