Como fazer um update dinâmico e evitar trabalho manual

SQL Server

Banco de Dados

02/05/2017

Preciso realizar um UPDATE no banco de dados substituindo alguns valores antigos para novos valores, porém a quantidade de valore a serem substituídos é grande e fazer cada update um a um gasta muito tempo, além de causar risco de misturar os valores e sair errado.

UPDATE SB1010 SET B1_POSIPI = 'NOVO NCM' WHERE B1_FILIAL = ' ' AND B1_POSIPI = 'NCM ANTIGO' AND D_E_L_E_T_ = ' '

O update que desejo fazer é este acima, e a quantidade de "NCMs" antigos que serão substituídos pelos novos ultrapassa 100. Queria saber alguma maneira de automatizar esse update de forma simples. Os dados antigos e novos estão salvos em uma tabela do excel.
Samuel Praxedes

Samuel Praxedes

Curtidas 0

Melhor post

Messias Natal

Messias Natal

02/05/2017

Desconsidere a 1ª ajustei o exemplo.

Importe esta tabela do excel para uma tabela temporaria tmp_ncm importe estas 2 colunas, depois crie uma coluna id_produto e
jogue o código comparando com a sua tabela de produtos. ex: update produto, tmp_produto set tmp_produto.id_produto = produto
where produto.ncm = tmp_produto.ncm
Com isso você tera um backup para possiveis selects de comparação e verificação antes do update.
Logo depois faça o update com 100 % de certeza update produto, tmp_produto set produto.ncm = tmp_produto
where produto.id_produto = tmp_produto.
GOSTEI 1

Mais Respostas

Messias Natal

Messias Natal

02/05/2017

Importe esta tabela do excel para uma tabela temporaria Bkp_ncm importe estas 2 colunas, depois crie uma coluna id_produto e
jogue o código comparando com a sua tabela de produtos. ex: update produto, tmp_produto set tmp_produto.id_produto = produto
where produto.ncm = tmp_produto.id_produto.
Com isso você tera um backup para possiveis selects de comparação e verificação antes do update.
Logo depois faça o update com 100 % de certeza update produto, tmp_produto set produto.ncm = tmp_produto
where produto.id_produto = tmp_produto.
GOSTEI 0
POSTAR