Fórum Problemas com FKs.. #51127
24/05/2005
0
Olá, tenho as seguintes tabelas:
Pois bem, quando insiro um registro na tabela cliente, fala o seguinte erro:
[b:731f063268]
violation of FOREIGN KEY constraint ´´.
violation of FOREIGN KEY constraint ´FK_CLIENTE_3´ on table ´CLIENTE´.
[/b:731f063268]
porem, quando eu gravo o registro cliente, e depois vou la e insiro o idcidade nao da erro,
o que pode estar acontecendo?
Desde ja agradeco
[]s
CREATE TABLE CIDADE ( IDCIDADE INTEGER NOT NULL, UF CHAR(2) NOT NULL, NOME VARCHAR(80) NOT NULL, PX INTEGER, PY INTEGER, MAPA VARCHAR(20) ); ALTER TABLE CIDADE ADD CONSTRAINT PK_CIDADE PRIMARY KEY (IDCIDADE); SET TERM ^ ; /* Trigger: CIDADE_BI0 */ CREATE TRIGGER CIDADE_BI0 FOR CIDADE ACTIVE BEFORE INSERT POSITION 0 AS begin new.idcidade = gen_id(gen_cidade, 1); end ^ SET TERM ; ^ CREATE TABLE CLIENTE ( IDCLIENTE INTEGER NOT NULL, IDREPRESENTANTE INTEGER, IDTIPOCLIENTE INTEGER, NOME VARCHAR(250), CONTATO VARCHAR(100), ENDERECO VARCHAR(250), COMPLEMENTO VARCHAR(100), BAIRRO VARCHAR(100), IDCIDADE INTEGER, UF VARCHAR(2), CEP VARCHAR(20), CPF VARCHAR(14), RG VARCHAR(30), CNPJ VARCHAR(24), INSCRICAOESTADUAL VARCHAR(30), CIC VARCHAR(40), INSCRICAOSUF VARCHAR(30), TELEFONE1 VARCHAR(18), RAMALTEL1 VARCHAR(4), TELEFONE2 VARCHAR(18), RAMALTEL2 VARCHAR(4), TELEFONE3 VARCHAR(18), RAMALTEL3 VARCHAR(4), FAX VARCHAR(18), CELULAR VARCHAR(18), DATANASCIMENTO DATE, DATACADASTRO DATE, NOMEFANTASIA VARCHAR(250), COLIGADO VARCHAR(250), COBENDERECO VARCHAR(250), COBCOMPLEMENTO VARCHAR(100), COBBAIRRO VARCHAR(100), COBCIDADE INTEGER, COBUF VARCHAR(2), COBCEP VARCHAR(15), COBTELEFONE VARCHAR(18), COBFAX VARCHAR(20), COBCELULAR VARCHAR(20), COBCONTATO VARCHAR(150), COBOBS BLOB SUB_TYPE 1 SEGMENT SIZE 250, COBENDERECOBANCO VARCHAR(250), COBLOCALENTREGA VARCHAR(250), EMPDATAFUNDACAO DATE, EMPSTATUS CHAR(1), EMPLIMITECREDITO DECIMAL(15,2), EMPTIPOSERASA CHAR(18), DTPRIMEIRACOMPRA DATE, DTULTIMACOMPRA DATE, VLRPRIMEIRACOMPRA DECIMAL(15,2), VLRULTIMACOMPRA DECIMAL(15,2), VLRACUMULADO DECIMAL(15,2), HOMEPAGE VARCHAR(250), EMAIL VARCHAR(250), SOCIO1 VARCHAR(250), SOCIO1CPF VARCHAR(15), SOCIO1CAPITAL DECIMAL(15,2), SOCIO1DATANASC DATE, SOCIO2 VARCHAR(250), SOCIO2CPF VARCHAR(1), SOCIO2CAPITAL DECIMAL(15,2), SOCIO2DATANASC DATE, SOCIO3 VARCHAR(250), SOCIO3CPF VARCHAR(15), SOCIO3CAPITAL DECIMAL(15,2), SOCIO3DATANASC DATE, SOCIO4 VARCHAR(250), SOCIO4CPF VARCHAR(15), SOCIO4CAPITAL DECIMAL(15,2), SOCIO4DATANASC DATE, USERCADASTRO VARCHAR(50), DATAATUALIZACAO DATE, USERATUALIZACAO DATE ); ALTER TABLE CLIENTE ADD CONSTRAINT PK_CLIENTE PRIMARY KEY (IDCLIENTE); ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_1 FOREIGN KEY (IDREPRESENTANTE) REFERENCES REPRESENTANTE (IDREPRESENTANTE) ON DELETE CASCADE; ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_2 FOREIGN KEY (IDTIPOCLIENTE) REFERENCES TIPOCLIENTE (IDTIPOCLIENTE) ON DELETE CASCADE; ALTER TABLE CLIENTE ADD CONSTRAINT FK_CLIENTE_3 FOREIGN KEY (IDCIDADE) REFERENCES CLIENTE (IDCLIENTE); SET TERM ^ ; /* Trigger: CLIENTE_BI0 */ CREATE TRIGGER CLIENTE_BI0 FOR CLIENTE ACTIVE BEFORE INSERT POSITION 0 AS begin /* insiro o novo codigo */ new.idcliente = gen_id(gen_cliente, 1); new.datacadastro = current_date; end ^ /* Trigger: CLIENTE_BU0 */ CREATE TRIGGER CLIENTE_BU0 FOR CLIENTE ACTIVE BEFORE UPDATE POSITION 0 AS begin new.dataatualizacao = current_date; end ^ SET TERM ; ^
Pois bem, quando insiro um registro na tabela cliente, fala o seguinte erro:
[b:731f063268]
violation of FOREIGN KEY constraint ´´.
violation of FOREIGN KEY constraint ´FK_CLIENTE_3´ on table ´CLIENTE´.
[/b:731f063268]
porem, quando eu gravo o registro cliente, e depois vou la e insiro o idcidade nao da erro,
o que pode estar acontecendo?
Desde ja agradeco
[]s
Titanius
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)