[Pgsql-ayuda] EXEC SQL SELECT nextval

Mayte MAYEVFP@terra.es
Tue, 11 Nov 2003 10:04:22 +0000


Hola a todos:

Estoy intentando insertar datos a trav=E9s de SQL inmerso en C. Tengo una=
=20
funci=F3n de conexi=F3n a la bd, otra de desconexi=F3n y otra de inserci=F3=
n de datos=20
en una sola tabla pasados como par=E1metros.=20

El problema es que en la funci=F3n de "A=F1adir datos" al decir que la Pr=
imary_key=20
(que es del tipo integer) vaya tomando el valor siguiente al que exista e=
n=20
cada inserci=F3n con :

EXEC SELECT SQL nextval ('tabla_id') INTO:clave FROM tabla;

e intento insertar los valores con:

EXEC SQL INSERT INTO tabla (tabla_id, tabla_nombre, tabla_fecha)  VALUES=20
(:clave, :nombre, now());

pues no me da error, parece que lo hace todo bien, pero cuando me voy a l=
a=20
base de datos, resulta que no ha insertado nada.

Si a=F1ado despu=E9s de insertar:

EXEC SQL COMMIT;=20

me inserta bien los datos la primera vez, pero la segunda, la clave prima=
ria=20
toma el valor 110854220 y ya no a=F1ade m=E1s datos.

Nota: el primer elemento de la tabla tiene el valor tabla_id=3D1 (lo inse=
rt=E9=20
manualmente);

=BFPod=E9is ayudarme? Gracias.