none
Ajuda para Update em tabela RRS feed

  • Pergunta

  • Ola pessoal bom dia,

    Estou precisando de uma ajuda, é o seguinte:

    Na tabela do sql ele grava os textos do sistema desta forma:

    }{\*\txfieldtext (aguardando registro!){\*\txfieldend}}(aguardando registro!)}\plain\f1\fs24\cf1 , todos deste Livro e Servi\loch\f1\hich\f1\'e7o.\par PROPRIET\'c1RIA: COMPANHIA REGIONAL DE HABITA\'c7\'d5ES DE INTERESSE SOCIAL - CRHIS, inscrita no CPNJ/MF sob o n\'ba 51.097.236/0001-29, com sede na Rua Guatemala, n\'ba 294, em Ara\'e7atuba/SP.\par (g/j/t)\par\pard\itap0\widctlpar\qj\par\par\trowd\irow0\irowband0\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\pard\intbl\widctlpar\qj\tx4395\tx4956\tx5664\tx6372\tx7080\tx7788\tx8496\tx9204\tx9912\tx10620\tx11328\tx12036\tx12744\tx13452\plain\f2\fs14\cf1  erreira\plain\f1\fs24\cf1\cell\trowd\irow0\irowband0\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\row\trowd\irow1\irowband1\lastrow\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\pard\s16\intbl\nowidctlpar\qc\plain\f3\fs14\b\cf1\cb2\chshdng0\chcfpat0\chcbpat2  \plain\f3\fs14\b\cf1 Oficial/Oficial Substituto\plain\f3\fs14\b\cf1\cb2\chshdng0\chcfpat0\chcbpat2  \plain\f1\fs24\cf1\cell\trowd\irow1\irowband1\lastrow\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\row\pard\itap0\widctlpar\qj\tx708\tx1416\tx2124\tx2832\tx3540\tx4248\tx4956\tx5664\tx6372\tx7080\tx7788\tx8496\tx9204\tx9912\plain\f3\fs12\cf1 

    Foram gravados 2500 textos de forma incorreta, onde era CNPJ/MF ficou CPNJ/MF

    Eu precisava fazer um update para trocar onde é CPNJ para CNPJ

    Eu tentei fazer desta forma mas nao consegui

    Update tblWRIVersoesExtratos Set Texto = 'CNPJ'

    FROM tblWRIVersoesExtratos
    where Texto = 'CPNJ'
    and   FK_tblWRIAtos_Id between 486050 
    and 489758

    É possivel fazer o que preciso?

    Obrigado

    segunda-feira, 15 de julho de 2013 14:33

Respostas

  • Carlos,

    Execute desta forma:

    Update tblWRIVersoesExtratos 
    Set Texto = REPLACE(CAST(texto AS VARCHAR(8000)), 'CPNJ', 'CNPJ')


    Fabrizzio A. Caputo
    Certificações:
    MCT
    MCC
    Oracle OCA 11g
    MCTS SQL Server 2008 BI
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta J.Carlos.Rib segunda-feira, 15 de julho de 2013 16:07
    segunda-feira, 15 de julho de 2013 15:38
    Moderador

Todas as Respostas

  • Voce pode utilizar a função replace, ex:

    Update tblWRIVersoesExtratos 
    Set Texto = REPLACE(texto, 'CPNJ', 'CNPJ')
    


    Alexandre Matayosi Conde Mauricio.

    segunda-feira, 15 de julho de 2013 14:41
  • Um exemplo:

    DECLARE @text TABLE (texto VARCHAR(MAX))
    INSERT INTO @text (texto) VALUES ('}{\*\txfieldtext (aguardando registro!){\*\txfieldend}}(aguardando registro!)}\plain\f1\fs24\cf1 , todos deste Livro e Servi\loch\f1\hich\f1\''e7o.\par PROPRIET\''c1RIA: COMPANHIA REGIONAL DE HABITA\''c7\''d5ES DE INTERESSE SOCIAL - CRHIS, inscrita no CPNJ/MF sob o n\''ba 51.097.236/0001-29, com sede na Rua Guatemala, n\''ba 294, em Ara\''e7atuba/SP.\par (g/j/t)\par\pard\itap0\widctlpar\qj\par\par\trowd\irow0\irowband0\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\pard\intbl\widctlpar\qj\tx4395\tx4956\tx5664\tx6372\tx7080\tx7788\tx8496\tx9204\tx9912\tx10620\tx11328\tx12036\tx12744\tx13452\plain\f2\fs14\cf1  erreira\plain\f1\fs24\cf1\cell\trowd\irow0\irowband0\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\row\trowd\irow1\irowband1\lastrow\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\pard\s16\intbl\nowidctlpar\qc\plain\f3\fs14\b\cf1\cb2\chshdng0\chcfpat0\chcbpat2  \plain\f3\fs14\b\cf1 Oficial/Oficial Substituto\plain\f3\fs14\b\cf1\cb2\chshdng0\chcfpat0\chcbpat2  \plain\f1\fs24\cf1\cell\trowd\irow1\irowband1\lastrow\trgaph36\trleft4455\trftsWidth1\trftsWidthB3\trftsWidthA3\trpaddl36\trpaddr36\trpaddfl3\trpaddft3\trpaddfr3\trpaddfb3\clvertalt\clftsWidth3\clwWidth4605\cellx9060\row\pard\itap0\widctlpar\qj\tx708\tx1416\tx2124\tx2832\tx3540\tx4248\tx4956\tx5664\tx6372\tx7080\tx7788\tx8496\tx9204\tx9912\plain\f3\fs12\cf1 ')
    
    SELECT * from @text
    
    UPDATE @text SET texto = REPLACE(texto, 'CPNJ/MF',' CPNJ')
    
    
    SELECT * FROM @text
    

    segunda-feira, 15 de julho de 2013 14:41
  • alexandre

    Deu este erro:

    Msg 8116, Level 16, State 1, Line 1
    Argument data type ntext is invalid for argument 1 of replace function.


    • Editado J.Carlos.Rib segunda-feira, 15 de julho de 2013 15:38 acres
    segunda-feira, 15 de julho de 2013 15:34
  • No caso advaldo 

    acredito que nao posso usar o seu exemplo, pois para cada ID é um texto diferente

    Correto?

    segunda-feira, 15 de julho de 2013 15:37
  • Carlos,

    Execute desta forma:

    Update tblWRIVersoesExtratos 
    Set Texto = REPLACE(CAST(texto AS VARCHAR(8000)), 'CPNJ', 'CNPJ')


    Fabrizzio A. Caputo
    Certificações:
    MCT
    MCC
    Oracle OCA 11g
    MCTS SQL Server 2008 BI
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    • Marcado como Resposta J.Carlos.Rib segunda-feira, 15 de julho de 2013 16:07
    segunda-feira, 15 de julho de 2013 15:38
    Moderador