Fórum null com query #277672

18/04/2005

0

Estou usando o Firebird e o SQL é SELECT MAX(CODCLI) + 1 AS PROXIMO FROM CLIENTES, só que o resultado está sendo Null. Como resolver este problema?

[color=green:fe8f648e8d]Tópico editado por gandalf.nho. Favor não poste em maiúsculas. [/color:fe8f648e8d]


Ronaldo Martins

Ronaldo Martins

Responder

Posts

18/04/2005

Gameiro

Tenho uma tabela de clientes fiz o teste agora e funcionou


SELECT MAX (COD_CLI) + 1 AS PROXIMO from CLIENTES




O seu cod_cli é de que tipo?


Testei o comando no iboconsole


Responder

Gostei + 0

18/04/2005

Ronaldo Martins

É DO TIPO INTEGER,, SO QUE EU ESTOU USANDO IBEXPERT!
O RESULTADO ESTA SENDO NUL E NAO 1, E A TABELA ESTA VAZIA.


Responder

Gostei + 0

18/04/2005

Gameiro

você disse que a tabela está vazia, experimente inserir um registro.


pois como você da um select MAX e a tabela está vazia ele não acha nada.


Responder

Gostei + 0

19/04/2005

Rafaelnogueira

Ae Gameiro, isso resolve o seu problema.

Mas é importante ressaltar que ´coalesce´ é uma função nativa do Firebird. Logo, se vc tiver a remota possibilidade de usar outros bancos de dados para essa aplicação pense 2x antes de usá-la.

SELECT coalesce(MAX( CODCLI),0) + 1 AS PROXIMO
FROM CLIENTES


Responder

Gostei + 0

19/04/2005

Gandalf.nho

Vc está usando isso para incrementar um campo? Pq não usa um generator?


Responder

Gostei + 0

13/06/2005

Rafaelnogueira

Não uso como gerador de proximo codigo. Uso para operacoes que não podem conter nulos. Ex: valor - nulo = ???

Logo, valor - (coalesce (campo),0) = valorValido


Responder

Gostei + 0

13/06/2005

Daniel_mc

Como esta o Valor Default do campo, está como zero?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar