Re: duda con sequence

From: "Mario Soto" <mario_soto(at)venezolanadeavaluos(dot)com>
To: <carbonarac(at)cantv(dot)net>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: duda con sequence
Date: 2004-06-09 22:22:43
Message-ID: 35514.200.35.66.77.1086819763.squirrel@mail.venezolanadeavaluos.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

1.- el campo al que apunta la secuencia cuando lo definistes lo hicistes
como tipo serial ??????

de ser asi, no debes insertar el valor ya que el automáticamente lo inserta:

2.- para llamar la funcion podrías hacerlo como:

select currval('denuncia_den_id_seq') as dato

y pasarle a $nueva_seq dato o intenta con

$nueva_seq = select currval('denuncia_den_id_seq')

--
Ing. Mario Soto Cordones
Venezolana de Avaluos

www.venezolanadeavaluos.com

>>currval() solo esta definido en cada sesion despues de llamar a
>>nextval(). Lee la documentacion. Si, esta en ingles.
>
> Supongo que tuve algo de suerte, encontre en español:
>
> 1.)
> http://es.tldp.org/Postgresql-es/web/navegable/user/sql-createsequence.html
>
> 2.) http://www.ciberia.ya.com/alexcasan/intsql.htm
>
> 3.) http://es.tldp.org/Postgresql-es/web/navegable/faq/faq-es.htm
>
> Ahora bien, segun lo que encontre, he probado en psql:
>
> habitantes=# select * from denuncia_den_id_seq;
> sequence_name | last_value | increment_by | max_value |
> min_value | cache_value | log_cnt | is_cycled | is_called
> ---------------------+------------+--------------+---------------------+----
> -------+-------------+---------+-----------+-----------
> denuncia_den_id_seq | 1 | 1 | 9223372036854775807 |
>
> 1 | 1 | 32 | f | t
> (1 row)
>
> habitantes=# select nextval('denuncia_den_id_seq');
> nextval
> ---------
> 2
> (1 row)
>
> habitantes=# select last_value from denuncia_den_id_seq;
> last_value
> ------------
> 4
> (1 row)
>
> Pero, y segun lo leido en 3.) en el punto 4.16.2, a hacer:
> sql_ins_den="INSERT INTO
> denuncia
> VALUES('$sector','$fecha_h');";
> $nueva_seq = currval('denuncia_den_id_seq')
>
> ponga el pg_exec antes o despues del currval(), arroja:
> Fatal error: Call to undefined function: currval() in
> /home/cesar/public_html/control.php on line /* del currval()
>
> o
> $nueva_seq = nextval('denuncia_den_id_seq');
> $sql_ins_den="INSERT INTO
> denuncia
> VALUES('$sector','$lugar_hecho',$t_hec,'$exp_mot','$
> fecha_d','$fecha_h',$nueva_seq);";
> $ins=pg_exec($conexion,$sql_ins_den);;
>
> arroja:
> Fatal error: Call to undefined function: nextval() in
> /home/cesar/public_html/control.php on line /* del nextval()
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: no olvides aumentar la configuración del "free space map"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar A. 2004-06-10 03:43:59 Re: duda con sequence
Previous Message Alvaro Herrera 2004-06-09 21:50:25 Re: duda con sequence