none
duvida de procedure com update RRS feed

  • Pergunta

  • Gostaria de saber como faço uma procedure com varios update
    to com algo do tipo
    update TAB_ALUNO_ATIVO set NOME = replace(NOME,'X...','') where NOME like '%. %'
    update TAB_ALUNO_ATIVO set NOME = replace(NOME,' .','') where NOME like '% .%'
    update TAB_ALUNO_ATIVO set NOME = replace(NOME,'.',' ') where NOME like '%.%'

    se alguem puder me ajudar =/

    quarta-feira, 28 de março de 2007 14:38

Respostas

  • Boa tarde Papel vê se o exemplo ajuda:

    Obs. (Este é um exemplo hipotético, qualquer coisa retorna)

     

     

    Create Procedure dbo.uSP_Atualiza_AlunoAtivo(Nome varchar(100),Clausula_Where varchar(1000)) as

    Begin
       Declare @Erro Int,
               @Registros int

       Set @Clausula_Where = '''' + '%' + @Clausula_Where + '%' + ''''

       UPDATE TAB_ALUNO_ATIVO SET NOME = Replace(Nome,@Nome,'') Where Nome Like @ClausulaWhere
       Select @Erro = @@Error,@Registros = @@RowCount

       If @Erro = 0
         Begin
            Print 'Erro na atualização !'
            Return
         End

       Print Cast(@Registros as varchar(10)) + ' registro(s) alterado(s) com sucesso!'
    end

    GO

     

    Exemplo de Execução

    EXEC uSP_Atualiza_AlunoAtivo 'X...','. '

     

     

     

    Espero ter ajudado

    quarta-feira, 28 de março de 2007 15:45

Todas as Respostas

  • se o where nao e igual tem que fazer em lotes o parametro do where e sempre o mesmo ?

     

    quarta-feira, 28 de março de 2007 14:41
  • não vai mudando de acordo com a situaçao e sao muiiiitos

    como faço isso?

     

    quarta-feira, 28 de março de 2007 14:46
  • cara nao entendi, se vc. fosse fazer um a um como ficaria ?
    quarta-feira, 28 de março de 2007 14:48
  • Boa tarde Papel vê se o exemplo ajuda:

    Obs. (Este é um exemplo hipotético, qualquer coisa retorna)

     

     

    Create Procedure dbo.uSP_Atualiza_AlunoAtivo(Nome varchar(100),Clausula_Where varchar(1000)) as

    Begin
       Declare @Erro Int,
               @Registros int

       Set @Clausula_Where = '''' + '%' + @Clausula_Where + '%' + ''''

       UPDATE TAB_ALUNO_ATIVO SET NOME = Replace(Nome,@Nome,'') Where Nome Like @ClausulaWhere
       Select @Erro = @@Error,@Registros = @@RowCount

       If @Erro = 0
         Begin
            Print 'Erro na atualização !'
            Return
         End

       Print Cast(@Registros as varchar(10)) + ' registro(s) alterado(s) com sucesso!'
    end

    GO

     

    Exemplo de Execução

    EXEC uSP_Atualiza_AlunoAtivo 'X...','. '

     

     

     

    Espero ter ajudado

    quarta-feira, 28 de março de 2007 15:45