[RESOLVIDO] SQL - update de forma incremental enquanto existe campo null

4 respostas
C

como faço para dar um update de forma incrementa enquanto o campo estiver null?
quem poder ajudar eu agradeço!

4 Respostas

R

Explique o cenário…

Posso ter um registro null na base hoje, outro amanhã, etc?

Ou posso ter vários uma única vez?

Vc também não disse qual banco está usando, isso é importante…

C

acabei esquecendo,kkkk
o banco que estou utilizando é o sql server.
esse não pode ter valor duplicado e também futuramente em algum momento vai ter valores null.
só preciso desse update para gerar novos códigos de barras no meu sistema.

R

Pesquise mais sobre jobs…

https://docs.microsoft.com/pt-br/sql/ssms/agent/create-a-job?view=sql-server-2017

Assim vc deixa seu update agendado para ser executado de X em X tempos…

C

resolvi.

DECLARE @cont INT;

declare @id bigint;

SET @cont = (select cast(max(substring(med_cod_barra,4,20)) as int) from medicamento where med_cod_barra like %ABC%)

WHILE @cont <= (select cast(max(substring(med_cod_barra,4,20)) as int) from medicamento where med_cod_barra like %ABC%)

BEGIN

SET @ID = (select top 1 MED_CODIGO from MEDICAMENTO where med_cod_barra is NULL);
PRINT EFETUANDO UPDATE;

SET @cont = @cont + 1;

UPDATE medicamento  set  med_cod_barra = @cont

where MED_CODIGO = @ID

END;

Criado 18 de setembro de 2018
Ultima resposta 18 de set. de 2018
Respostas 4
Participantes 2