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
>>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"
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 |