Estou com problemas alguem pode me ajudar???
ola pessoal
eu não conheço muito a linguagem sql e muito menos o interbase e estou com um problema que eu não estou conseguindo achar uma solução e o seguinte:
tenho estas tabelas:
CREATE TABLE ativ
(ID VARCHAR(2) NOT NULL,
STATUS VARCHAR(1),
MARCA VARCHAR(1),
DATA_INC DATE,
DATA_ALT DATE,
DATA_HAB DATE,
NOME VARCHAR(25) NOT NULL,
CONSTRAINT pk_Ativ primary key (id));
CREATE TABLE ´CATEG´
(
´ID´ VARCHAR(2) NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(25) NOT NULL,
´GRUPO´ VARCHAR(25) NOT NULL,
CONSTRAINT ´PK_CATEG´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´CLIFOR´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´CF´ CHAR(1),
´PFPJ´ CHAR(1),
´DCTO´ DECIMAL(2, 0),
´LIM_CRED´ DECIMAL(10, 2),
´NOME´ ´D_NOME´ NOT NULL,
´NOMR_FANT´ VARCHAR(50),
´TIPRUA´ ´D_TIPRUA´,
´TITRUA´ ´D_TITRUA´,
´NOMERUA´ ´D_NOMERUA´ NOT NULL,
´NUMRUA´ ´D_NUMRUA´ NOT NULL,
´BAIRRO´ ´D_BAIRRO´,
´CIDADE´ ´D_CIDADE´ NOT NULL,
´ID_UF´ VARCHAR(2) NOT NULL,
´CEP´ VARCHAR(9) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´FAX´ ´D_FONE´,
´CEL´ ´D_FONE´,
´FANTASIA´ ´D_FANTASIA´,
´CONTATO´ VARCHAR(30),
´CPFCGC´ ´D_CPFCGC´,
´RGIE´ ´D_RGIE´,
´ID_VENDINT´ INTEGER,
´ID_VENDEXT´ INTEGER,
´PCPAG´ VARCHAR(30),
´EMAIL´ ´D_EMAIL´,
´BLEMAIL´ CHAR(1),
´WWW´ VARCHAR(60),
´ID_ATIV´ VARCHAR(2) NOT NULL,
´COMPRA´ CHAR(1),
´FORMA_PG´ VARCHAR(10),
´FRETE´ CHAR(1),
´ID_TRANSP´ INTEGER,
´CODBANCO´ ´D_CODBAN´,
´NOMBANCO´ ´D_NOMBAN´,
´CODAGENCIA´ ´D_CODAGE´,
´NOMAGENCIA´ ´D_NOMAGE´,
´NUMCONTA´ ´D_NUMCONTA´,
CONSTRAINT ´PK_CLIFOR´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´TRANSP´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ ´D_NOME´ NOT NULL,
´NOME_FANT´ VARCHAR(50),
´TIPRUA´ ´D_TIPRUA´,
´TITRUA´ ´D_TITRUA´,
´NOMERUA´ ´D_NOMERUA´ NOT NULL,
´NUMRUA´ ´D_NUMRUA´ NOT NULL,
´BAIRRO´ ´D_BAIRRO´,
´CIDADE´ ´D_CIDADE´ NOT NULL,
´ID_UF´ VARCHAR(2) NOT NULL,
´CEP´ VARCHAR(9) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´FAX´ ´D_FONE´,
´CONTATO´ VARCHAR(30),
´CGC´ ´D_CPFCGC´,
´IE´ ´D_RGIE´,
´EMAIL´ ´D_EMAIL´,
´BLEMAIL´ CHAR(1),
´WWW´ VARCHAR(60),
CONSTRAINT ´PK_TRANSP´ PRIMARY KEY (´ID´)
);
REATE TABLE ´UF´
(
´ID´ VARCHAR(2) NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATE_ALT´ DATE,
´DATA_HAB´ DATE,
´NOMEST´ VARCHAR(25) NOT NULL,
´REGIAO´ VARCHAR(15) NOT NULL,
´ICM´ DECIMAL(2, 0) NOT NULL,
CONSTRAINT ´PK_UF´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´VENDINT´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(15) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´CEL´ ´D_FONE´,
´EMAIL´ ´D_EMAIL´,
´COMIS´ DECIMAL(4, 2) NOT NULL,
CONSTRAINT ´PK_VENINT´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´VENEXT´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(15) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMA´ ´D_RAMAL´,
´CEL´ ´D_FONE´,
´EMAIL´ ´D_EMAIL´,
´COMIS´ DECIMAL(4, 2) NOT NULL,
CONSTRAINT ´PK_VENEXT´ PRIMARY KEY (´ID´)
);
e o seguintes dominios:
CREATE DOMAIN d_nome AS VARCHAR(50);
CREATE DOMAIN d_fantasia AS VARCHAR(15);
CREATE DOMAIN d_tiprua AS VARCHAR(5);
CREATE DOMAIN d_titrua AS VARCHAR(7);
CREATE DOMAIN d_nomerua AS VARCHAR(35);
CREATE DOMAIN d_numrua AS VARCHAR(25);
CREATE DOMAIN d_cidade AS VARCHAR(30);
CREATE DOMAIN d_bairro AS VARCHAR(25);
CREATE DOMAIN d_ddd AS VARCHAR(3);
CREATE DOMAIN d_fone AS VARCHAR(9);
CREATE DOMAIN d_ramal AS VARCHAR(5);
CREATE DOMAIN d_cpfcgc AS VARCHAR(18);
CREATE DOMAIN d_rgie AS VARCHAR(15);
CREATE DOMAIN d_email AS VARCHAR(60);
CREATE DOMAIN d_moeda AS DECIMAL(10,2);
CREATE DOMAIN d_codban AS VARCHAR(4);
CREATE DOMAIN d_nomban AS VARCHAR(30);
CREATE DOMAIN d_codage AS VARCHAR(6);
CREATE DOMAIN d_nomage AS VARCHAR(30);
CREATE DOMAIN d_numconta AS VARCHAR(10);
estou tentato relacionar algumas tabela com os seguinte comandos:
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_VendInt FOREIGN KEY (id_VendInt) REFERENCES VendInt(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_VendExt FOREIGN KEY (id_VendExt) REFERENCES VendExt(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_ativ FOREIGN KEY (id_ativ) REFERENCES ativ(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_transp FOREIGN KEY(id_transp) REFERENCES transp(id) ON UPDATE CASCADE;
mas na hora que eu vou fazer isso da uma mensagam de erro:
Unsuccessful metadata update
STORE RDB$RELATION_CONSTRAINTS failed
attempt to store duplicate value (visible to active transactions) in unique index ´RDB$INDEX_12´
Statement: ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) ON UPDATE CASCADE
alguem poderia me dizer o q poderia ser isso pois eu ja quebrei a minha cabeça e não achei nenhuma solução
agradeço a atenção de vcs
eu não conheço muito a linguagem sql e muito menos o interbase e estou com um problema que eu não estou conseguindo achar uma solução e o seguinte:
tenho estas tabelas:
CREATE TABLE ativ
(ID VARCHAR(2) NOT NULL,
STATUS VARCHAR(1),
MARCA VARCHAR(1),
DATA_INC DATE,
DATA_ALT DATE,
DATA_HAB DATE,
NOME VARCHAR(25) NOT NULL,
CONSTRAINT pk_Ativ primary key (id));
CREATE TABLE ´CATEG´
(
´ID´ VARCHAR(2) NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(25) NOT NULL,
´GRUPO´ VARCHAR(25) NOT NULL,
CONSTRAINT ´PK_CATEG´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´CLIFOR´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´CF´ CHAR(1),
´PFPJ´ CHAR(1),
´DCTO´ DECIMAL(2, 0),
´LIM_CRED´ DECIMAL(10, 2),
´NOME´ ´D_NOME´ NOT NULL,
´NOMR_FANT´ VARCHAR(50),
´TIPRUA´ ´D_TIPRUA´,
´TITRUA´ ´D_TITRUA´,
´NOMERUA´ ´D_NOMERUA´ NOT NULL,
´NUMRUA´ ´D_NUMRUA´ NOT NULL,
´BAIRRO´ ´D_BAIRRO´,
´CIDADE´ ´D_CIDADE´ NOT NULL,
´ID_UF´ VARCHAR(2) NOT NULL,
´CEP´ VARCHAR(9) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´FAX´ ´D_FONE´,
´CEL´ ´D_FONE´,
´FANTASIA´ ´D_FANTASIA´,
´CONTATO´ VARCHAR(30),
´CPFCGC´ ´D_CPFCGC´,
´RGIE´ ´D_RGIE´,
´ID_VENDINT´ INTEGER,
´ID_VENDEXT´ INTEGER,
´PCPAG´ VARCHAR(30),
´EMAIL´ ´D_EMAIL´,
´BLEMAIL´ CHAR(1),
´WWW´ VARCHAR(60),
´ID_ATIV´ VARCHAR(2) NOT NULL,
´COMPRA´ CHAR(1),
´FORMA_PG´ VARCHAR(10),
´FRETE´ CHAR(1),
´ID_TRANSP´ INTEGER,
´CODBANCO´ ´D_CODBAN´,
´NOMBANCO´ ´D_NOMBAN´,
´CODAGENCIA´ ´D_CODAGE´,
´NOMAGENCIA´ ´D_NOMAGE´,
´NUMCONTA´ ´D_NUMCONTA´,
CONSTRAINT ´PK_CLIFOR´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´TRANSP´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ ´D_NOME´ NOT NULL,
´NOME_FANT´ VARCHAR(50),
´TIPRUA´ ´D_TIPRUA´,
´TITRUA´ ´D_TITRUA´,
´NOMERUA´ ´D_NOMERUA´ NOT NULL,
´NUMRUA´ ´D_NUMRUA´ NOT NULL,
´BAIRRO´ ´D_BAIRRO´,
´CIDADE´ ´D_CIDADE´ NOT NULL,
´ID_UF´ VARCHAR(2) NOT NULL,
´CEP´ VARCHAR(9) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´FAX´ ´D_FONE´,
´CONTATO´ VARCHAR(30),
´CGC´ ´D_CPFCGC´,
´IE´ ´D_RGIE´,
´EMAIL´ ´D_EMAIL´,
´BLEMAIL´ CHAR(1),
´WWW´ VARCHAR(60),
CONSTRAINT ´PK_TRANSP´ PRIMARY KEY (´ID´)
);
REATE TABLE ´UF´
(
´ID´ VARCHAR(2) NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATE_ALT´ DATE,
´DATA_HAB´ DATE,
´NOMEST´ VARCHAR(25) NOT NULL,
´REGIAO´ VARCHAR(15) NOT NULL,
´ICM´ DECIMAL(2, 0) NOT NULL,
CONSTRAINT ´PK_UF´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´VENDINT´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(15) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMAL´ ´D_RAMAL´,
´CEL´ ´D_FONE´,
´EMAIL´ ´D_EMAIL´,
´COMIS´ DECIMAL(4, 2) NOT NULL,
CONSTRAINT ´PK_VENINT´ PRIMARY KEY (´ID´)
);
CREATE TABLE ´VENEXT´
(
´ID´ INTEGER NOT NULL,
´STATUS´ VARCHAR(1),
´MARCA´ VARCHAR(1),
´DATA_INC´ DATE,
´DATA_ALT´ DATE,
´DATA_HAB´ DATE,
´NOME´ VARCHAR(15) NOT NULL,
´DDD´ ´D_DDD´,
´TELEFONE´ ´D_FONE´,
´RAMA´ ´D_RAMAL´,
´CEL´ ´D_FONE´,
´EMAIL´ ´D_EMAIL´,
´COMIS´ DECIMAL(4, 2) NOT NULL,
CONSTRAINT ´PK_VENEXT´ PRIMARY KEY (´ID´)
);
e o seguintes dominios:
CREATE DOMAIN d_nome AS VARCHAR(50);
CREATE DOMAIN d_fantasia AS VARCHAR(15);
CREATE DOMAIN d_tiprua AS VARCHAR(5);
CREATE DOMAIN d_titrua AS VARCHAR(7);
CREATE DOMAIN d_nomerua AS VARCHAR(35);
CREATE DOMAIN d_numrua AS VARCHAR(25);
CREATE DOMAIN d_cidade AS VARCHAR(30);
CREATE DOMAIN d_bairro AS VARCHAR(25);
CREATE DOMAIN d_ddd AS VARCHAR(3);
CREATE DOMAIN d_fone AS VARCHAR(9);
CREATE DOMAIN d_ramal AS VARCHAR(5);
CREATE DOMAIN d_cpfcgc AS VARCHAR(18);
CREATE DOMAIN d_rgie AS VARCHAR(15);
CREATE DOMAIN d_email AS VARCHAR(60);
CREATE DOMAIN d_moeda AS DECIMAL(10,2);
CREATE DOMAIN d_codban AS VARCHAR(4);
CREATE DOMAIN d_nomban AS VARCHAR(30);
CREATE DOMAIN d_codage AS VARCHAR(6);
CREATE DOMAIN d_nomage AS VARCHAR(30);
CREATE DOMAIN d_numconta AS VARCHAR(10);
estou tentato relacionar algumas tabela com os seguinte comandos:
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_VendInt FOREIGN KEY (id_VendInt) REFERENCES VendInt(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_VendExt FOREIGN KEY (id_VendExt) REFERENCES VendExt(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_ativ FOREIGN KEY (id_ativ) REFERENCES ativ(id) ON UPDATE CASCADE;
ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_transp FOREIGN KEY(id_transp) REFERENCES transp(id) ON UPDATE CASCADE;
mas na hora que eu vou fazer isso da uma mensagam de erro:
Unsuccessful metadata update
STORE RDB$RELATION_CONSTRAINTS failed
attempt to store duplicate value (visible to active transactions) in unique index ´RDB$INDEX_12´
Statement: ALTER TABLE clifor
ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) ON UPDATE CASCADE
alguem poderia me dizer o q poderia ser isso pois eu ja quebrei a minha cabeça e não achei nenhuma solução
agradeço a atenção de vcs
Maverickgt302
Curtidas 0
Respostas
Afarias
16/07/2003
|ALTER TABLE clifor
|ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) |ON UPDATE CASCADE
A impressão q dá é que esta constraint já existe
T+
|ADD CONSTRAINT fk_clifor_uf FOREIGN KEY (id_uf) REFERENCES UF(id) |ON UPDATE CASCADE
A impressão q dá é que esta constraint já existe
T+
GOSTEI 0