Problemas con el campo serial
Publicado por Sebastian Torres (3 intervenciones) el 13/10/2006 18:25:05
Usando postgresql , me surgio el siguiente inconveniente,:
Tengo dos tablas referenciadas una que se llama dpersonales y otra tipodoc, el problema me surge su quiero cargar un registro en la tabla dpersonales y no existe el tipo de documento me da un error de violacion de integridad referencial, el problema es que la secuencia sigue aumentando. Que puedo hacer?
CREATE TABLE dpersonales
(
id int4 NOT NULL DEFAULT nextval('"DPersonales_id_seq"'::regclass),
tipo int2,
nro int4,
nombre varchar(50),
domicilio varchar(50),
te varchar(50),
mail varchar(50),
cuil varchar(50),
cuit varchar(50),
observaciones text,
CONSTRAINT pk_dpersonales PRIMARY KEY (id),
CONSTRAINT dpersonales_tipodoc FOREIGN KEY (tipo)
REFERENCES tipodoc (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT DEFERRABLE INITIALLY IMMEDIATE
)
WITHOUT OIDS;
ALTER TABLE dpersonales OWNER TO postgres;
ALTER TABLE dpersonales
ADD CONSTRAINT dpersonales_tipodoc FOREIGN KEY (tipo)
REFERENCES tipodoc (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT DEFERRABLE INITIALLY IMMEDIATE;
-- Table: tipodoc
-- DROP TABLE tipodoc;
CREATE TABLE tipodoc
(
id int4 NOT NULL,
tipo varchar(20),
CONSTRAINT pk_tipodoc PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE tipodoc OWNER TO postgres;
Uso postgresql 8.1 para windows , bajo windows xp.
desde ya gracias
Tengo dos tablas referenciadas una que se llama dpersonales y otra tipodoc, el problema me surge su quiero cargar un registro en la tabla dpersonales y no existe el tipo de documento me da un error de violacion de integridad referencial, el problema es que la secuencia sigue aumentando. Que puedo hacer?
CREATE TABLE dpersonales
(
id int4 NOT NULL DEFAULT nextval('"DPersonales_id_seq"'::regclass),
tipo int2,
nro int4,
nombre varchar(50),
domicilio varchar(50),
te varchar(50),
mail varchar(50),
cuil varchar(50),
cuit varchar(50),
observaciones text,
CONSTRAINT pk_dpersonales PRIMARY KEY (id),
CONSTRAINT dpersonales_tipodoc FOREIGN KEY (tipo)
REFERENCES tipodoc (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT DEFERRABLE INITIALLY IMMEDIATE
)
WITHOUT OIDS;
ALTER TABLE dpersonales OWNER TO postgres;
ALTER TABLE dpersonales
ADD CONSTRAINT dpersonales_tipodoc FOREIGN KEY (tipo)
REFERENCES tipodoc (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE RESTRICT DEFERRABLE INITIALLY IMMEDIATE;
-- Table: tipodoc
-- DROP TABLE tipodoc;
CREATE TABLE tipodoc
(
id int4 NOT NULL,
tipo varchar(20),
CONSTRAINT pk_tipodoc PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE tipodoc OWNER TO postgres;
Uso postgresql 8.1 para windows , bajo windows xp.
desde ya gracias
Valora esta pregunta


0