Sql Sets e Wheres
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 !!!
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 !!!
Ipc$
Curtidas 0
Respostas
Afarias
11/09/2004
terá de fazer 2 updates
T+
T+
GOSTEI 0
Ipc$
11/09/2004
Ok Afarias, obrigado !
GOSTEI 0
Motta
11/09/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
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
GOSTEI 0
Beppe
11/09/2004
Tvz vc possa fazer um update só, usando esta sintaxe:
Codigo = ((Codigo * 10) * cast((Codigo < 100) as Integer)) + ((Codigo + 10) * cast((Codigo >= 100) as Integer))
GOSTEI 0
Ipc$
11/09/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.
GOSTEI 0