Página Inicial do Fórum > Java Avançado

Fazer update no banco passando a clausura "WHERE para o campo id"



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 17/05/2012 10:20:22

    Bom dia a todos,

    Gostaria de saber se é possivel a seguinte situação:

    Tenho uma tabela de cadastro familiar onde são cadastrados os dependentes de responsavel que esta em outra tabela na qual são ligados atraves de um numero de cadastro(que não é o id).

    porem para eu fazer um update nesta tabela se eu alterar algum campo fazendo o "update tab_familia set nome = Rodrigo where n_cadastro" e tiver mais que 1 dependente para esse numero de cadastro ele vai atualizar todos os cadastros, pensei na solução de CPF pois é um numero unico para cada pessoa, mas e se o dependente for recem-nascido ele não tem CPF, então se eu setar "sem CPF" quando for fazer um "update tab_familia set nome = Rodrigo where CPF" todos que estiverem na tabela e for "sem CPF" sera atualizado, então pensei em ter uma PK codigo de autoincremento no qual cada linha tera um valor e nunca se repetira, porem não tenho ideia como fazer essa logica, por favor me ajudem.

    Segue abaixo meu codigo que esta fazendo no momento.... porem preciso mudar para alguma solução.

    Servlet


    Meu DAO



    Desde ja agradeço ajuda...




  1. MathewsMotta
    Posts:1020


    Comment Arrow

    Publicado em: 17/05/2012 11:52:47

    Bom, para começar, a lógica do seu banco está errada! Afinal, como pode um numero de cadastro ter mais de uma pessoa???

    Oq vc deve fazer é bem fácil até...

    A sua tabela deve ter um campo assim:


    Explicando:
    1- cod_pessoa => seu campo
    2- BIGINT => Tipo do seu campo. Normalmente é bigint pq é uma quantidade grande.
    3- NOT NULL => Afinal, um campo de auto incremento JAMAIS pode ser nulo!!!
    4- AUTO_INCREMENT => Será incrementado a cada insert.


    Com isso vc só precisa inserir os outros dados. A cada nova pessoa inserida, o campo com AUTO_INCREMENT será incrementado, e então cada pessoa terá um código único.


    Espero ter ajudado !! Qualquer dúvida, fala!
    _________________
    ION, you're mine.


  1. Comment Arrow

    Publicado em: 17/05/2012 10:20:22

    Obrigado....

    Esta tabela é de dependentes, então se o pai tem o codigo 1, os dependentes desse pai tambem terão numero1...errado eu sei que esta, mas entrei no projeto agora não tenho como mudar isso. infelizmente tenho que tentar me adaptar.

    sobre o autoincrement eu entendi, mas é possivel na hora de fazer um update ele identificar na clausura where id_codigo qual linha estou pedindo para ele alterar?




  1. MathewsMotta
    Posts:1020


    Comment Arrow

    Publicado em: 17/05/2012 11:52:47

    Sim é só botar "where id_codigo = 9999" que ele vai direto para a pessoa certa.
    _________________
    ION, you're mine.




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Java Avançado