El día 22 de marzo de 2011 17:49, Emanuel Calvo Franco
<postgres....@gmail.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
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a