Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problemas con secuencias.

Estas en el tema de Problemas con secuencias. en el foro de PostgreSQL en Foros del Web. He creado una secuencia: REATE SEQUENCE candidato_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; ALTER TABLE candidato_id_seq OWNER TO postgres; En mi ...
  #1 (permalink)  
Antiguo 01/12/2008, 05:02
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Problemas con secuencias.

He creado una secuencia:

REATE SEQUENCE candidato_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER TABLE candidato_id_seq OWNER TO postgres;

En mi tabla Candidatos he agregado un campo que sera auto incremental:

ALTER TABLE candidatos ADD COLUMN id integer;
ALTER TABLE candidatos ALTER COLUMN id SET STORAGE PLAIN;
ALTER TABLE candidatos ALTER COLUMN id SET NOT NULL;
ALTER TABLE candidatos ALTER COLUMN id SET DEFAULT nextval('candidato_id_seq'::regclass);

¿Si quiero hacer un insert que pongo en el campo 'id'? lo dejo vacio, o meto un 1, porque me da error todo el rato, quiero que me coja el valor siguiente de la secuencia.

Si tengo por ejemplo las columnas id,nombre,sexo,edad,telefono,fechaAlta,puesto,entr evistaro...
Hago el siguiente insert:

insert into candidatos values (1,'Jose Luis','H',31,916664422,TO_DATE('12/12/2007','DDMMYYYY'),'programador','Merceces')

Y claro me dice que el valor ya existe(por el 1 la primera columna), en otra BBDD te daba el que tocaba poniendo un 1 pero aqui no se que debo poner en ese campo.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 01/12/2008, 12:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Respuesta: Problemas con secuencias.

No debes poner nada, asi coge el valor por defecto.

SAlu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.