[pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread miguel
Tengo el siguiente disparador CREATE OR REPLACE FUNCTION movement_trg() RETURNS "trigger" AS $$ DECLARE v_DateNull TIMESTAMP := TO_DATE('01-01-1900', 'DD-MM-'); BEGIN IF ( OLD.PROCESSED = 'Y' AND (/*Inicio Condicion 2*/ (COALESCE(OLD.MOVEMENTDATE, v_DateNu

Re: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread miguel
El sáb, 15-11-2008 a las 04:44 -0600, miguel escribió: > Tengo el siguiente disparador > > CREATE OR REPLACE FUNCTION movement_trg() RETURNS "trigger" AS $$ > DECLARE > v_DateNull TIMESTAMP := TO_DATE('01-01-1900', 'DD-MM-'); > BEGIN > IF > ( > OLD.PROCESSED = 'Y' AND > (

RE: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread Juan Ramirez
> Subject: Re: [pgsql-es-ayuda] Pregunta sobre error en disparador > > ERROR: record "new" is not assigned yet > > SQL state: 55000 > > Detail: The tuple structure of a not-yet-assigned record is > > indeterminate. > > Context: PL/pgSQL function "

RE: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread miguel
El sáb, 15-11-2008 a las 14:13 -0100, Juan Ramirez escribió: > > Subject: Re: [pgsql-es-ayuda] Pregunta sobre error en disparador > > > ERROR: record "new" is not assigned yet > > > SQL state: 55000 > > > Detail: The tuple structure of a not

Re: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread Fernando Moreno
En operaciones DELETE, la variable NEW tiene como valor NULL, y su uso en expresiones no ocasionará errores, pero si intentas acceder a alguno de sus campos, ahi sí te marcará error, dado que su estructura no está definida. Primero deberías condicionar el tipo de operación, para que sólo en los UPD

Re: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread Miguel Beltran R.
OLD: existe en UPDATE y DELETE NEW: existe en INSERT y UPDATE Sin importar si es BEFORE o AFTER, pero si es en after y regresas algo, simplemente se ignora. (1) Tu quieres qué marque error antes de que borre o actualize? entonces es before. Gracias por la respuesta pero aun cambiando la declara

Re: [pgsql-es-ayuda] Pregunta sobre error en disparador

2008-11-15 Thread Jaime Casanova
On Sat, Nov 15, 2008 at 5:44 AM, miguel <[EMAIL PROTECTED]> wrote: > Tengo el siguiente disparador > > CREATE OR REPLACE FUNCTION movement_trg() RETURNS "trigger" AS $$ > DECLARE > v_DateNull TIMESTAMP := TO_DATE('01-01-1900', 'DD-MM-'); > BEGIN > IF >( > OLD.PROCESSED = 'Y' AND >