[firebase-br] for execute statement...
Carlos H. Cantu
listas em warmboot.com.br
Qui Nov 18 15:19:42 -03 2004
Tente fazer um CAST dos parametros na hora de junta-los ao select.
[]s
Cantu
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
LC> Amigos,
LC> Tenho um comando de "for select" com dados variáveis e
LC> gostaria de faze-lo através de um
LC> "for execute statement" mas encontrei dificuldades para faze-lo funcionar.
LC> O comando é:
LC> wsql = 'select movdat, movdeb, movccd, movcre, movccc,
LC> hiscod, movcpl, movvlr, movseq from ' || :wtab ||
LC> ' where empcod = ' || :empi || ' and movdat between ' || :dati || ' and ' ||
LC> :datf || ' and (((movdeb = ' || :wpct || ') and (movccd = ' || :wcen ||
LC> ')) or ((movcre = ' || :wpct || ') and (movccc = ' || :wcen || ')))' ||
LC> ' order by movdat, movseq';
LC> ... e em seguida:
LC> for execute statement :wsql into :wdat, :wdeb, :wccd, :wcre,
LC> :wccc, :wchi, :wcpl, :wvlr, :wsqm
LC> do begin
LC> As variáveis são:
LC> WTAB VARCHAR(10) é o nome de uma tabela = "movimento"
LC> EMPI VARCHAR(4) = "0132"
LC> DATI e DATF são DATE = 01/01/2004 e 31/01/2004 passados por parâmetros mas quando
LC> são convertidas ficam como 2004-01-01 e 2004-01-31
LC> WPCT VARCHAR(16) = "111010001"
LC> WCEN SMALLINT = de 1 até 3
LC> Os campos com os quais são comparados são da mesma natureza das variáveis de trabalho
LC> O sistema apresenta o erro:
LC> GDS Exception. 335544334. conversion error from string "1972"
LC> Penso que o erro é na data.
LC> Se executar o comando conforme abaixo funciona normal:
LC> for select movdat, movdeb, movccd, movcre, movccc, hiscod,
LC> movcpl, movvlr, movseq from movimento
LC> where empcod = :empi and movdat between :dati and :datf and
LC> (((movdeb = :wpct) and (movccd = :wcen)) or ((movcre = :wpct) and (movccc = :wcen)))
LC> order by movdat, movseq'
LC> do begin...
LC> Agradeço sinceramente alguma ajuda.
LC> Luciano C Santos
LC> ______________________________________________
LC> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
LC> Para editar sua configuração na lista, use o endereço
LC> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Mais detalhes sobre a lista de discussão lista