From: | "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Rodriguez Fernando" <rodriguez(at)ort(dot)edu(dot)uy> |
Cc: | "Gabriel Hermes Colina Zambra" <hermeszambra(at)yahoo(dot)com>, "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva |
Date: | 2008-02-28 13:48:13 |
Message-ID: | 002e01c87a10$92189890$5800a8c0@amadeus.net.co |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
To: "Rodriguez Fernando" <rodriguez(at)ort(dot)edu(dot)uy>
Cc: "Gabriel Hermes Colina Zambra" <hermeszambra(at)yahoo(dot)com>; "Raul Andres
Duque" <ra_duque(at)yahoo(dot)com(dot)mx>; "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Thursday, February 28, 2008 6:46 AM
Subject: Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva
>>>> Raul Andres Duque wrote:
>>>>
>>>>> Mi duda es: Después de ejecutar esta sentencia (INSERT), cómo puedo
>>>>> saber TODOS los valores de secuencia generados?
>
> Sorry, hay una manera trivial de saber los valores devueltos por la
> secuencia:
>
> insert into duque
> select nextval('duque_a_seq')
> from generate_series(1, 20)
> returning a;
>
>
> Es facil demostrar que funciona bien concurrentemente: usas una
> subconsulta que se intercale con otra sesion. Por ej.
>
> alvherre=# insert into duque select a from (select nextval('duque_a_seq')
> as a, pg_sleep(1) from generate_series(1, 20)) foo returning a;
> a
> ----
> 41
> 42
> 43
> 44
> 45
> 46
> 47
> 48
> 49
> 50
> 51
> 52
> 53
> 54
> 55
> 56
> 58
> 60
> 62
> 64
> (20 rows)
>
> INSERT 0 20
>
>
> y en otra sesion, que eche a andar cuando esa llevaba ya algun tiempo:
>
> alvherre=# insert into duque select a from (select nextval('duque_a_seq')
> as a, pg_sleep(1) from generate_series(1, 20)) foo returning a;
> a
> ----
> 57
> 59
> 61
> 63
> 65
> 66
> 67
> 68
> 69
> 70
> 71
> 72
> 73
> 74
> 75
> 76
> 77
> 78
> 79
> 80
> (20 rows)
>
> INSERT 0 20
>
Excelente Alvaro !!!!
No había pensado en que el "returning" me devolviera la lista completa !!!!
Muchas gracias.
Atentamente,
RAUL DUQUE
Bogotá, Colombia
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Paul Argudo | 2008-02-28 14:50:11 | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Obtener "Curval()" de inserción masiva |
Previous Message | Alvaro Herrera | 2008-02-28 11:46:28 | Re: Obtener "Curval()" de inserción masiva |