Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Morpheus#2005

Campos em branco ou Nulos

Recommended Posts

Pessoal beleza.

 

Eu tenho 5 campos e preciso fazer um check para o status final.

 

 

CMP_1

CMP_2

CMP_3

CMP_4

CMP_5

Status Final

 

 

Se todos os campos forem NULOS, em branco..o Status final é Ok, senão o Status ficará PENDENTE.

 

Qual a melhor forma de fazer ??

 

Fiz assim mas tem alguma coisa errada.

 

UPDATE Tabela
Set 
Status_Final = case
when
CMP1 IS NULL AND
CMP2 IS NULL AND
CMP3 IS NULL AND
CMP4 IS NULL AND
CMP5 IS NULL 
THEN
'Pendente'
ELSE
'Aprovado'

O que pode estar errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po parceiro...o END tem..rsss

 

Saca..

 

UPDATE Tabela

Set

Status_Final = case

when

CMP1 IS NULL AND

CMP2 IS NULL AND

CMP3 IS NULL AND

CMP4 IS NULL AND

CMP5 IS NULL

THEN

'Pendente'

ELSE

'Aprovado'

END

 

 

---Se qualquer campo estiver NULO e o Status Final ja tiver PENDENTE ou APROVADO ele fica inalterado, senao ele faz o update do Status para Pendente.

 

esse ta fod@@....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po parceiro...o END tem..rsss

no exemplo que citou acima não tinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Morpheus#2005,

 

Quando utilizamos o Case em um update, devemos por entre () (Parenteses) o case, para que o SQL entenda o conjunto de comandos.

 

Segue abaixo exemplo:

 

CODE
create table #teste

(campo1 varchar(10)null,

campo2 varchar(10)null,

campo3 varchar(10)null,

campo4 varchar(10) null,

campo5 varchar(10) null,

status_final varchar(50) null)

 

insert into #teste (campo1, campo2,campo3,campo4,campo5) values ('1',null,null,null,null)

insert into #teste (campo1, campo2,campo3,campo4,campo5) values (null,'2',null,null,null)

insert into #teste (campo1, campo2,campo3,campo4,campo5) values (null,null,'3',null,null)

insert into #teste (campo1, campo2,campo3,campo4,campo5) values (null,null,null,'4',null)

insert into #teste (campo1, campo2,campo3,campo4,campo5) values (null,null,null,null,'5')

insert into #teste (campo1, campo2,campo3,campo4,campo5) values (null,null,null,null,null)

 

UPDATE #teste

Set Status_Final = (case

when

CaMPo1 IS NULL AND

CaMPo2 IS NULL AND

CaMPo3 IS NULL AND

CaMPo4 IS NULL AND

CaMPo5 IS NULL

THEN

'Pendente'

ELSE

'Aprovado'

end)

where status_final is null

select * from #teste

 

 

 

Qualquer duvida, só postar!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.