Re: [pgsql-es-ayuda] Obtener "Curval()" de ins erción masiva
- 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 ins erción masiva
- Date: Thu, 28 Feb 2008 08:48:13 -0500
- Message-id: <002e01c87a10$92189890$5800a8c0(at)amadeus(dot)net(dot)co>
----- 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.
Home |
Main Index |
Thread Index