Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Freitas

Problema Integridade Referencial

Recommended Posts

Pessoal, segue codigo gerado pelo ErWin e erro retornado no Management Studio

 

As tabelas sao:

 

ESTADO

UF

DESCRICAO

 

CIDADE

COD_CIDADE

DESCRICAO

UF

 

Ao excluir registro da tabela ESTADO:

A instrução DELETE conflitou com a restrição do REFERENCE "FK__CIDADE__UF__19DFD96B"

 

Ao excluir regostro da tabela CIDADE:

Cannot DELETE last CIDADE because ESTADO exists.

 

 

Codigo gerado pelo Erwin:

 

CHILD_OWNER="", CHILD_TABLE="CIDADE"

P2C_VERB_PHRASE="R/4", C2P_VERB_PHRASE="",

FK_CONSTRAINT="R_4", FK_COLUMNS="UF" */

if exists (select * from deleted,ESTADO

where

/* %JoinFKPK(deleted,ESTADO," = "," and") */

deleted.UF = ESTADO.UF and

not exists (

select * from CIDADE

where

/* %JoinFKPK(CIDADE,ESTADO," = "," and") */

CIDADE.UF = ESTADO.UF

)

)

begin

select @errno = 30010,

@errmsg = 'Cannot DELETE last CIDADE because ESTADO exists.'

goto error

end

 

 

Nao consigo excluir registro de nenhuma das duas tabelas... por favor me ajudem!

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja a opção de delete da constraint

 

http://www.sqlteam.com/article/using-set-null-and-set-default-with-foreign-key-constraints

 

http://msdn.microsoft.com/en-us/library/ms174979.aspx

 

O correto neste caso seria não deixar excluit estado se ainda existirem cidades apontando para este

e

na exclusão de uma cidade nada checar em estado.

 

Mas eu não faria nenhuma restrição entre estados x cidades face a ser um cadasro com pouca movimentação.

 

Estados precisam de 3/5 do Congresso para serem criados e cidads não são criadas assim todos os dias ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.