Fórum Problema com constraint #235522

01/06/2004

0

Tentei adicionar uma chave estrangeira em uma tabela e apareceu o seguinte erro:

Unsuccessful metadata update
STORE RDB$REF_CONSTRAINTS failed
action cancelled by trigger (1) to preserve data integrity
Name of Referential Constraint not defined in constraints table

Ja pesquisei inumeras vezes isso aqui no forum e encontrei pessoas com o mesmo problema e nao foi resolvido.

Alguem saberia o que posso fazer???

Agradeço desde já

Thiago


Tcarvalho

Tcarvalho

Responder

Posts

01/06/2004

Afarias

qual o comando SQL q usou pra tentar criar tal constraint ?! e qual o banco de dados?!


T+


Responder

Gostei + 0

01/06/2004

Tcarvalho

O banco é interbase e o codigo SQL é o seguinte:

ALTER TABLE SINTOMA_OS ADD FOREIGN KEY(CODOS) REFERENCES OS(CODOS)

Varias pessoas ja postaram a mesma duvida no forum, mas nao obtive resposta. Uma pessoa disse que resolveu, mas nao sei o e-mail dele..Olhe o endereço abaixo e veja o que ele disse.

http://delphiforum.icft.com.br/forum/viewtopic.php?t=23049&highlight=cancelled

Thiago


Responder

Gostei + 0

02/06/2004

Cabreu.jr

Tente com o seguinte código:

ALTER TABLE SINTOMA_OS ADD [b:d67fba4d57]FK_SINTOMA_OS_OS[/b:d67fba4d57] FOREIGN KEY(CODOS) REFERENCES OS(CODOS) [b:d67fba4d57]ON UPDATE CASCADE[/b:d67fba4d57];


Responder

Gostei + 0

02/06/2004

Afarias

faltou justamente definir um nome único para a constraint!


T+


Responder

Gostei + 0

02/06/2004

Tcarvalho

Segui as recomendações dos amigos e continua dando o mesmo erro. Coloquei um outro nome unico na constraint e nada.

Acredito que é um bug do interbase

Atenciosamente


Responder

Gostei + 0

02/06/2004

Rômulo Barros

Segue o código correto: (Tudo isso pq vc ignorou o link que mencionei no outro tópico seu, com o mesmo assunto) :lol: :lol: :lol:

ALTER TABLE SINTOMA_OS ADD [color=red:0bd763ac88]CONSTRAINT [/color:0bd763ac88]FK_SINTOMA_OS_OS FOREIGN KEY(CODOS) REFERENCES OS(CODOS) ON UPDATE CASCADE;


Responder

Gostei + 0

02/06/2004

Tcarvalho

Eu ja tinha feito o teste usando a clausula CONSTRAINT e o erro continua...


Responder

Gostei + 0

02/06/2004

Rômulo Barros

Unsuccessful metadata update
STORE RDB$REF_CONSTRAINTS failed
action cancelled by trigger (1) [color=red:05dd8a9e3d]to preserve data integrity [/color:05dd8a9e3d]
Name of Referential Constraint not defined in constraints table

Limpe o seu banco de dados e tente novamente o comando abaixo(com a base de dados limpa):

ALTER TABLE SINTOMA_OS ADD CONSTRAINT FK_SINTOMA_OS_OS FOREIGN KEY(CODOS) REFERENCES OS(CODOS) ON UPDATE CASCADE;


Responder

Gostei + 0

02/06/2004

Tcarvalho

Ainda nao fiz o teste, mas quando vc fala em limpar vc quer dizer apagar todos os registros????
Nao posso fazer isso, pois senao o usuario me mata...
De qualquer forma vou testar na base de teste..

Atenciosamente


Responder

Gostei + 0

02/06/2004

Afarias

Vc deve ter ai no campo para o qual quer criar a constraint um valor q nào está presente no campo de referência da outra tabela (PK)

verifique isso com o código::

select * from SINTOMA_OS s
where not exists (select 1 from os where codos = s.codos);


se essa consulta retornar registros, ai está o erro!!


T+


Responder

Gostei + 0

03/06/2004

Tcarvalho

Essa minha tabela foi criada agora, e portanto nao tem nenhum registro...


Responder

Gostei + 0

05/06/2004

Tcarvalho

Ainda tenho esperanças de resolver esse meu problema...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar