Fórum Erro: Parametros em Update com CASE #52607

01/09/2005

0

Boa tarde pessoal,

Estou começando a usar agora o comando UPDATE do SQL e estou com o seguinte problema:

update mat_pedido_itens
set DT_REC = :dt_rec, QTD_REC = :qtd_rec, QTD_PED = CASE WHEN((QTD_PEND + QTD_REC ) > QTD_PED) THEN
:old_rec + QTD_PED END

qnd tento usar o cod acima, paraece a seguinte mensagem: Data Type Unknown, tenho que especificar o ´tipo´ desses parametros?Se for por favor me digam onde, pois ja tentei em diversos lugares
Uso o IBX/FB e Delphi 7.
Obrigado


Neves777

Neves777

Responder

Posts

01/09/2005

Emerson Nascimento

creio que haja um problema lógico aí:

se (QTD_PEND + QTD_REC ) for maior que QTD_PED, então QTD_PED é igual a soma de :old_rec e QTD_PED.
e caso contrário? qual será o valor de QTD_PED???

deveria ter um ELSE nesse case:

update 
  mat_pedido_itens
set
  DT_REC = :dt_rec,
  QTD_REC = :qtd_rec,
  QTD_PED = CASE 
              WHEN (QTD_PEND + QTD_REC ) > QTD_PED
              THEN :old_rec + QTD_PED
              ELSE QTD_PED
            END



Responder

Gostei + 0

02/09/2005

Neves777

O problema é mesmo de sintaxe, pois o codigo nao é nem executado, ja que como eu disse aparece a mensagem de erro: Data type Unknown.
Alguem sabe o por que???


Responder

Gostei + 0

02/09/2005

Emerson Nascimento

qual a versão do FB que você utiliza?


Responder

Gostei + 0

02/09/2005

Neves777

Versao 1.5, mas o banco esta no dialeto 1.0


Responder

Gostei + 0

02/09/2005

Gandalf.nho

Versao 1.5, mas o banco esta no dialeto 1.0


Vc terá que converter seu banco para a versão 1.5, já que o CASE só foi implantado a partir dessa versão.


Responder

Gostei + 0

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

Aceitar