Saludos

IF (TG_OP = 'DELETE') THEN
    --RAISE NOTICE 'comando %',NEW.comando ;
    IF(NEW.emei IS NULL) THEN
        NEW=NULL;
    ELSIF (NEW.comando IS NULL) THEN
        NEW=NULL;
    ELSE
        INSERT INTO gstrak.comandosenviados(emei, recibo, comando)
            (select emei, recibo, comando from gstrak.comandosenviar
            where emei=OLD.emei  and comando=OLD.comando);
        get diagnostics no_rows = ROW_COUNT;
        IF( no_rows=0) THEN
            NEW=NULL;
        ELSE
            NEW=OLD;
        END IF;
    END IF;
END IF;
IF (TG_OP = 'INSERT') THEN
    IF (select count(*) from gstrak.comandosenviar where emei=NEW.emei and
comando=NEW.comando)>0 THEN
        NEW=NULL;
    END IF;
END IF;

RETURN NEW;




CREATE TRIGGER tinserta_cadenas
  BEFORE INSERT
  ON procmty.cadenas2
  FOR EACH ROW
  EXECUTE PROCEDURE inserta_cad




El 30 de septiembre de 2011 13:21, Lazaro Rubén García Martinez <
lgarc...@vnz.uci.cu> escribió:

>  Pudieras enviar la función y el disparador, para poder entender mejor lo
> que deseas hacer?****
>
> ** **
>
> Saludos.****
>
> ** **
>
> *De:* pgsql-es-ayuda-ow...@postgresql.org [mailto:
> pgsql-es-ayuda-ow...@postgresql.org] *En nombre de *Miguel Angel Hernandez
> Moreno
> *Enviado el:* viernes, 30 de septiembre de 2011 02:16
> *Para:* Lista PostgreSql
> *Asunto:* [pgsql-es-ayuda] ayuda con un trigger****
>
> ** **
>
> Saludos lista
>
> estoy haciendo una validacion para una tabla de control muy pequeña desde
> un trigger.
>
> El detalle es que si hacen un DELETE pero si no ponen en el WHERE los 2
> campos em marca error
> y lo que yo quiero es manejar la condiicion de que si no viene definido
> marcar regresar 0;
>
>
> Este es el error
>
> ERROR:  record "new" is not assigned yet
> DETAIL:  The tuple structure of a not-yet-assigned record is indeterminate.
> CONTEXT:  PL/pgSQL function "validacmd" line 6 at IF
>
>
>
>
> --
> ISC Miguel Angel Hernandez Moreno****
>



-- 
ISC Miguel Angel Hernandez Moreno

Responder a