none
Update campos diferentes RRS feed

  • Pergunta

  • Pessoal,

    Eu tenho uma sp update e cada vez  irei executa-la em um campo diferente.

    Ex:

    Update(esse campo muda, esse campo nao muda, esse campo nao muda, esse campo muda);
    Na proxima vez, farei:
    Update(esse campo nao muda, esse campo nao muda, esse campo nao muda, esse campo  muda);

    Entao ao inves de ter varias sp, existe uma forma de no SQL eu ignorar alguns campos ?
    Ex: Update set campo1=MantemValor, campo2=novoValor, campo3=MantemValor, campo4=mantemValor) 

    Valeu

    sexta-feira, 19 de outubro de 2012 06:18

Respostas

  • Bem, como você vai passar os valores como parâmetro?

    Os valores que não devem mudar serão passados como? Se na hora de executar a procedure você já tiver todos os valores, inclusive os que não mudam, basta que a procedure atualize todos os campos, pois os que não devem mudar serão atualizados para seus próprios valores atuais.

    Se para os campos que não dever ser alterados você for passar Null no parâmetro (por exemplo), basta testar esse Null no update, através de um Case. Ex.: Update TABELA Set Campo1 = Case When @Parametro1 is Null Then Campo1 Else @Parametro1 End ...

    Agora, se você não tiver controle sobre os valores a serem passados pelos parâmetros terá que, de alguma forma, fazer o tratamento necessário para saber se o campo será ou não atualizado.


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    • Marcado como Resposta AGA Neto domingo, 21 de outubro de 2012 04:32
    sexta-feira, 19 de outubro de 2012 11:03
    Moderador