Tengo el siguiente disparador CREATE OR REPLACE FUNCTION movement_trg() RETURNS "trigger" AS $$ DECLARE v_DateNull TIMESTAMP := TO_DATE('01-01-1900', 'DD-MM-YYYY'); BEGIN IF ( OLD.PROCESSED = 'Y' AND (/*Inicio Condicion 2*/ (COALESCE(OLD.MOVEMENTDATE, v_DateNull) <> COALESCE(NEW.MOVEMENTDATE, v_DateNull)) OR (COALESCE(OLD.AD_ORGTRX_ID, 0) <> COALESCE(NEW.AD_ORGTRX_ID, 0)) OR (COALESCE(OLD.DOCUMENTNO, '.') <> COALESCE(NEW.DOCUMENTNO, '.')) OR (COALESCE(OLD.AD_ORG_ID, 0) <> COALESCE(NEW.AD_ORG_ID, 0)) OR (COALESCE(OLD.AD_CLIENT_ID, 0) <> COALESCE(NEW.AD_CLIENT_ID, 0)) )/*Fin Condicion 2*/ ) THEN RAISE EXCEPTION '%', 'Document processed/posted' ; --OBTG:-20501-- END IF; IF (TG_OP = 'DELETE') THEN RETURN OLD; ELSE RETURN NEW; END IF; END; $$ LANGUAGE 'plpgsql' VOLATILE;
Qué al ejecutarlo me sale 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 "movement_trg" line 25 at if ********** Error ********** 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 "movement_trg" line 25 at if Alguien podría darme una ayudadita? -- TIP 6: �Has buscado en los archivos de nuestra lista de correo? http://archives.postgresql.org/pgsql-es-ayuda