none
Problema Foreign Key Update On Cascade RRS feed

  • Pergunta

  • tenho uma tabela Itens e outra ComposicaoItens
    Na composicaoItens é montado a composição de cada item da tabela itens, por exemplo, tenho o cadastro de uma roda, de um aro e de uma válvula na tabela itens, na tabela composicao itens, eu monto ela assim:
    Roda(Item Pai) é composto pelo Aro e pela válvula
    mas essa roda, ela tambem pode ser item filho, pq tenho cadastro por exemplo de uma roda já pintada, entao ficaria:
    roda pintada(item pai), que é composta por uma roda
    entao na tabela composicaoitens tenho dois campos - ItemID / ItemFilho, que é relacionado com ItemID da tabela Itens
    A questão é a seguinte, quando eu altero o cadastro de um item na tabela itens, ela precisa alterar os dois campos na tabela composicaoitens, o SQL server não está aceitando a alteração on cascade nos dois campos, ele aceita só em um, o que faço?
    terça-feira, 21 de janeiro de 2020 14:52

Todas as Respostas

  • Marcus, você pode postar a estrutura das tabelas, as relações e a mensagem de erro?

    Pelo que entendi até o momento, a relação de chave estrangeira está sendo recusada para evitar referências circulares.

     

    Lembre-se de marcar esta resposta se ela te ajudou a resolver o problema.


    José Diz     Belo Horizonte, MG - Brasil     [query performance tuning: Porto SQL]


    Este conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    • Editado José Diz sexta-feira, 24 de janeiro de 2020 11:23
    terça-feira, 21 de janeiro de 2020 16:08
  • Marcus,

    Por acaso, você esta adotando o conceito de autorelacionamento?

    Seria possível apresentar o comando que esta sendo utilizada, as propriedades definidas para o relacionamento?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 21 de janeiro de 2020 18:02
    Moderador
  • Tenho dúvidas: A roda pintada (item pai) seria então uma composição com outros itens?

    Se esse for o caso você poderia incluir através de uma trigguer o registro da tabela de itens na tabela de composição itens. Sendo assim a roda pintada do seu exemplo seria então um item pai. Pelo que entendi os itens da tabela composição são detalhados na tabela de itens ou seja possuem filhos. 

    Há formas melhores de serem feitas essas atividades, mas se o SQL Server não está permitindo será necessária encontrar outra solução.

    terça-feira, 21 de janeiro de 2020 23:24
  • Marcus,

    Você poderia nos apresentar a estrutura deste banco de dados? A relação entre estas tabelas?

    Acredito que os dados que forma uma RODA são teoricamente armazenados primeiro que a própria RODA.

    Qual é a lógica aplicada a este domínio do seu negócio?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 22 de janeiro de 2020 15:13
    Moderador