Array
(
)

Sql Sets e Wheres

Ipc$
   - 11 set 2004

Olá pessoal!
Alguém saberia se é possível na cláusula Update setar dois campos com dois Where diferentes?
Por ex:
Codigo = Codigo * 10 Where Codigo < 100 ou
Codigo = Codigo + 10 Where Codigo >= 100

Ou terei que fazer dois Updates ?
Desde já agradeço !!!


Afarias
   - 11 set 2004

terá de fazer 2 updates



T+


Ipc$
   - 13 set 2004

Ok Afarias, obrigado !


Motta
   - 13 set 2004

qual bd ?

no Oracle

update tabela
set Codigo = decode(sign(codigo - 100),-1,Codigo * 10,
1,Codigo + 10,Codigo + 10)



no FB tem uma funcao coalesce (acho) que é semenhante ao decode


Beppe
   - 13 set 2004

Tvz vc possa fazer um update só, usando esta sintaxe:
#Código

Codigo = ((Codigo * 10) * cast((Codigo < 100) as Integer)) + 
((Codigo + 10) * cast((Codigo >= 100) as Integer))



Ipc$
   - 14 set 2004

Obrigado pessoal, vou fazer uns testes. Se funcionar num banco e em outro não, para mim não vai servir pq preciso de um sql padrão que funcione em qualquer banco.