none
Deletar Dados RRS feed

  • Pergunta

  • Boa tarde,

    Galera estou com uma grande duvida e nao consigo resolver de imediato preciso da ajuda de vcs, tenho a  tabela de usuarios no meu banco e em sequencia minha tabela tem relacionamentos o grande problema é qdo vou tentar deletar o usuario ele acusa um erro falando de sua FK em outra tabela. Oq pensei vou usar o "delete em cascade" mais dae ouvi dizer q e complicado, entao fui pra fazer na mão.

     

    Usei os seguintes codigos

    DELETE FROM Usuarios
      FROM         Usuarios INNER JOIN
               Competencia_Colaborador ON Usuarios.ID=Competencia_Colaborador.ID_USUARIO
    WHERE     (Usuarios.ID = @Original_ID)

     

    continuo com o msm erro na qdo executo a função dae usei

     

    DELETE FROM Usuarios

    WHERE ((Usuarios.ID=Competencia_Colaborador.ID_USUARIO) and (Usuarios.ID = @Original_ID))

     

    continuei com o msm problema ..

     

    minha pergunta baseando nisso e tem como eu deletar registros de 2 tabela pegando como referencia o ID do usuario nas outras, mais qru com 1 função apenas deletar nas tabelas ..

     

    Obs: dei exemplo de 1 relacionamento apenas mais a tabela usuario tem uns 4 ou + relacionamentos

     

    Conto com a ajuda de vcs, Abraços

    att

    terça-feira, 19 de junho de 2007 17:16

Respostas

  • dá para melhorar, mas é mais ou menos isso...

     

    Code Snippet

    create proc USP_ApagaTudo @ID int

    if exists

    (select Usuarios

    FROM Usuarios

    INNER JOIN Competencia_Colaborador ON Usuarios.ID=Competencia_Colaborador.ID_USUARIO

    ON (Usuarios.ID = @Original_ID))

    Begin

    DELETE FROM Tabela1

    where ID = @ID

    DELETE FROM Tabela2

    where ID = @ID

    DELETE FROM Tabela3

    where ID = @ID

    DELETE FROM Tabela4

    where ID = @ID

    DELETE FROM a

    FROM Usuarios a

    INNER JOIN Competencia_Colaborador ON a.ID=Competencia_Colaborador.ID_USUARIO and a.ID = @ID

    end

     

    Abraço

    • Marcado como Resposta Richard Juhasz quarta-feira, 4 de janeiro de 2012 19:13
    terça-feira, 19 de junho de 2007 17:51