Re: Buenos dias

From: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
To: Martin Marques <martin(dot)marques(at)2ndquadrant(dot)com>, "Ing(dot)Informatico Osmany Rodriguez Duran" <orodriguez(at)uij(dot)edu(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Buenos dias
Date: 2017-12-11 15:17:53
Message-ID: 5f155abd-3fae-faba-fde2-bf9515ea0057@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola

On 11/12/17 12:04, Martin Marques wrote:
> Saludos Osmany y Anthony,
>
> El 11/12/17 a las 11:52, Anthony Sotolongo escribió:
>> HOla Osmany, has intentado colocar el return null;  luego de cada insert
>> (para salir de la función) y creo que eso puede evitar que se inserte
>> recursivamente.
>>
>> pues al final veo un return new;
> Ese no es el problema, AFAICS
creo que estamos comentando posible soluciones similares!!!

>
>>> este es el trigger:
>>>
>>> CREATE TRIGGER insertar_rol
>>>   BEFORE INSERT
>>>   ON security.users
>>>   FOR EACH ROW
>>>   EXECUTE PROCEDURE security.rol_insert2();
> [snip]
>
>>> ELSE
>>>     INSERT INTO security.users(
>>>             id, username, nombre, pass, ci, ultimav, rol_id, edad,
>>> sexo_id,correo, is_active, imagen)
>>>     VALUES (default, NEW.username,NEW.nombre, NEW.pass, NEW.ci,
>>> NEW.ultimav, NEW.rol_id, NEW.edad, NEW.sexo_id,NEW.correo,
>>> NEW.is_active, NEW.imagen);
>>> END CASE;
> Fijate que en el ELSE del CASE estas volviendo a insertar la fila. Aquí
> es donde se genera la recursion.
>
> Acá en lugar de insertar deberías simplemente retornar NEW, y en los
> otros cases retornar NULL (a menos que quieras que se inserte la fila en
> security.users y en la tabla correspondiente al caso en el que entra en
> el CASE.
un return null; luego de cada insert, de este modo creo que no llegara
nunca al return new del final,
es similar a colocar  quitar el insert del else y retornar el new;

> Espero te ayude.... y buenos días ;)
>
saludos

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jvenegasperu . 2017-12-11 16:01:03 Increible omnidb 2.4 y pgadmin 4 ver 2 parecen locomotoras antiguas frente el viejo phpPgAdmin que parece un ferrari
Previous Message Martin Marques 2017-12-11 15:04:25 Re: Buenos dias