Skip site navigation (1) Skip section navigation (2)

Re: error en ejecucion de trigger

From: Miguel Torres <mtorres066(at)gmail(dot)com>
To: Rafael Martinez <r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: error en ejecucion de trigger
Date: 2011-04-19 00:32:22
Message-ID: BANLkTinuCUqvHpy=ndBx6mEYTPpt4s9saQ@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Excelente Ayuda.

Cambie en el trigger: FOR EACH STATEMENT EXECUTE

Por: FOR EACH ROW EXECUTE

Realice pruebas con resultado = OK.

Gracias y saludos..

El 18 de abril de 2011 15:40, Rafael Martinez
<r(dot)m(dot)guerrero(at)usit(dot)uio(dot)no>escribió:

> On Mon, 2011-04-18 at 15:19 -0600, Miguel Torres wrote:
>
> [.......]
> >
> > Este es el trigger:
> > CREATE TRIGGER grabar_usuario AFTER INSERT OR DELETE OR UPDATE ON
> > usuario FOR EACH STATEMENT EXECUTE PROCEDURE procesa_usuario_audit();
>
> [.......]
> > Este es el mensaje de error:
> > Ejecuto un update o insert en la tabla usuario:
> >
> > soporte=# update usuario set depto = 'Administracion' where id_usuario
> > = 514;
> > ERROR:  el registro «new» no ha sido asignado aún
> > DETALLE:  La estructura de fila de un registro aún no asignado no
> > está determinado.
> > CONTEXTO:  función PL/pgSQL «procesa_usuario_audit» en la línea 10
> > en sentencia SQL
> > soporte=#
> >
>
> Hola
>
> Tu problema probablemente es que has definido un disparador que se
> ejecuta una sola vez per comando SQL y en tu funcion estas intentando
> retornar NEW y OLD despues de actualizar la tabla 'usuario_audit'
>
> Los procedimientos almacenados utilizados por disparadores que se
> ejecutan una sola vez per comando SQL (statement-level) tienen que
> devolver siempre NULL.
>
> Mas información en:
> http://www.postgresql.org.es/node/301
>
>
> --
> Rafael Martinez Guerrero
> Center for Information Technology
> University of Oslo, Norway
>
> PGP Public Key: http://folk.uio.no/rafael/
>
>


-- 
Miguel Angel Torres
Culiacan, Sin.

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HilarioDate: 2011-04-19 02:15:38
Subject: Re: precio
Previous:From: adriana camargoDate: 2011-04-19 00:04:56
Subject: Re: Ayuda migrar de 8.1 a 9.0

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group