Re: insert con serial

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: insert con serial
Date: 2011-03-22 17:31:38
Message-ID: AANLkTimSi4=UcDehF_YjvE=UOU3vyqPiWZ5ohECfY_MV@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 22 de marzo de 2011 17:49, Emanuel Calvo Franco
<postgres(dot)arg(at)gmail(dot)com> escribió:
> Has primero
>
> select * from facturacion.nomenclador  where id_nomenclador_detalle =
> curval('sequencia_id_nomenclador') +1

Corrijo, no es curval, es currval además de casteo:

postgres=# select * from t1 where campo1 = currval('t1_campo1_seq'::regclass);

simulando lo que pudo pasar:

postgres=# select currval('t1_campo1_seq');
currval
---------
5
(1 fila)

postgres=# insert into t1 values(6,'text',6);
INSERT 0 1

postgres=# select * from t1 where campo1 = currval('t1_campo1_seq'::regclass)+1;

campo1 | campo2 | campo3
--------+--------+--------
6 | text | 6
(1 fila)

postgres=# insert into t1 (campo2,campo3) values ('o',23);
ERROR: llave duplicada viola restricciA3n de unicidad A«t1_pkeyA»
DETALLE: Ya existe la llave (campo1)=(6).

--
--
              Emanuel Calvo
              Helpame.com

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo Villanueva 2011-03-22 18:16:54 Re: insert con serial
Previous Message Emanuel Calvo Franco 2011-03-22 16:49:14 Re: insert con serial