Hoje vou mostrar uma dica de como dar um UPDATE via SQL Server para atualizar o conteúdo de um campo MEMO do Protheus.
No passado eu comentei como visualizar o conteúdo de um campo MEMO ( https://terminaldeinformacao.com/2018/11/21/como-ver-conteudo-de-um-campo-memo-sql-server/ ). Acontece que campo MEMO no Protheus, basicamente é um campo tipo Image, então nós precisamos converter para visualizar o conteúdo.
Mas e quando temos a necessidade de atualizar um conteúdo, como fazemos? Basta nós convertermos o texto para VARBINARY.
No exemplo abaixo, estou atualizando a tabela de produtos, “setando” o campo B1_X_ESPE2.
UPDATE SB1010 SET B1_X_ESPE2 = CONVERT(VARBINARY(MAX), 'Daniel Teste') WHERE B1_COD = 'TESTE' /* Poderia ser também com CAST no lugar do CONVERT: B1_X_ESPE2 = CAST('Daniel Teste' AS VARBINARY(MAX)) */
Lembrando jovens, evitem dar UPDATE em campos padrões do sistema, se for esse o caso, tente utilizar um ExecAuto, como o campo acima é customizado e não impacta em outras rotinas do Protheus, foi usado como exemplo para nosso artigo.
Bom pessoal, por hoje é só.
Abraços e até a próxima.