Como dar um Update em um campo do tipo MEMO

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.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação