From: | "Alejandro Gasca" <galejadror(at)gmail(dot)com> |
---|---|
To: | "Agustin Casiva" <casivaagustin(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: ayuda con funcion sql para obtener registros procesados |
Date: | 2007-07-06 17:30:17 |
Message-ID: | 20d60a6c0707061030q1877e852gb0806b6f24d70d29@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 6/07/07, Agustin Casiva <casivaagustin(at)gmail(dot)com> escribió:
>
> On 7/5/07, Alejandro Gasca <galejadror(at)gmail(dot)com> wrote:
> > Saludos,
> >
> > Estoy haciendo un procedimento en sql. El procedimiento hace un insert,
> y me
> > gustaria saber si hay alguna manera de saber cuantos registros proceso,
> algo
> > simiar al GET DIAGNOSTICS ... ROW_COUNT de plpgsql.
> >
> > Actualmente estoy intentando hacer algo parecido a lo siguiente para
> > intentar
> > obtener la cantidad de registros, pero solo obtengo errores :(
> >
> > select count(*) from (
> > insert into foo ...
> > returning *
> > ) as consulta;
> >
>
> A ver, si no me equivoco el insert siempre procesa un registro !?
> Por que queres ver cuantos proceso un insert?, si siempre procesa uno
> solo en caso de ser
> correcta la operación.
>
Insert puede insertar varios registros, por ejemplo:
INSERT INTO fu (campo1, campo2)
SELECT (campo1, campo2) from fu2;
te inserta tantos campos como tenga fu2 (y los indices y demas condiciones
sobre la tabla lo permitan)
De hecho, varios frontends interceptan el mensaje:
"Query returned successfully: 28 rows affected, 47 ms execution time."
Mi primer pregunta es como se obtiene ese dato, los "rows affected" desde
sql.
Ahora, Si quieres ver que se inserto, le puedes poner:
INSERT INTO fu (campo1, campo2)
SELECT (campo1, campo2) from fu2
RETURNING *
Cuando se ejecuta esa función, regresa los registros que (realmente) se
insertaron... como dice en la documentacion...
mi segunda pregunta es: ¿Como hago uso de esa salida en una funcion sql?
Como la salida se obtiene de un INSERT, la funcion se niega a reconocerla
como
un conjunto de registros.
Alejandro.
From | Date | Subject | |
---|---|---|---|
Next Message | Javier Bermúdez Tito | 2007-07-06 20:31:26 | RE: ayuda con funcion sql para obtener registros procesados |
Previous Message | Calabaza Calabaza | 2007-07-06 16:58:37 | Re: DBDesigner con postgresql |