[firebase-br] Procedure nao funciona
Diogo de Oliveira Cunha
diogo.cunhajf em gmail.com
Qui Ago 25 14:23:50 -03 2005
Conforme o Heverton solicitou abaixo esta tambem a trigger(na integra).
Pessoal, no trigger de uma tabela (abaixo)
AS
DECLARE VARIABLE CodEmpresa INTEGER;
DECLARE VARIABLE CodPedestre INTEGER;
DECLARE VARIABLE Codhorario INTEGER;
DECLARE VARIABLE UltimoAcesso INTEGER;
DECLARE VARIABLE SentidoExp VARCHAR(100);
DECLARE VARIABLE Tipo VARCHAR(6);
begin
/* Grava AutoInc no numero do acesso */
if (new.acesso IS NULL) then
new.acesso = GEN_ID(gen_numero_acesso,1);
/* Grava o código da empresa e do pedestre */
Select Codigo,Empresa from pedestres Where cracha = new.cracha
into :CodPedestre,:CodEmpresa;
if (:CodPedestre <> 0) then
new.pedestre = :CodPedestre;
if (:CodEmpresa <> 0) then
new.empresa = :CodEmpresa;
/* Verifica na tabela de histórico qual o codigo da horario, caso
esta seja null */
if ((new.horario is null) or (new.horario = 0)) then
begin
select OutResultado from
sp_retorna_horario_pedestre(new.pedestre,cast(new.datahora as TIME))
into :codhorario;
new.horario = :codhorario;
end
if (new.tipo is null) then
begin
select OutTipo from
sp_tipo_batida_pedestre(new.pedestre,cast(new.datahora as TIME))
into :Tipo;
new.tipo = :Tipo;
end
if ((new.acesso is not null) or (new.acesso > 0)) then
begin
if (new.sentido = 'E') then
begin
update Pedestres P set P.ultima_entrada = new.acesso Where
P.codigo = :CodPedestre;
end
if (new.sentido = 'S') then
begin
update Pedestres P set P.ultima_saida = new.acesso Where
P.codigo = :CodPedestre;
end
end
end
chamo a seguinte procedure:
----------------------//---------------------
CREATE PROCEDURE SP_TIPO_BATIDA_PEDESTRE (
INHORARIO TIME,
INCODPEDESTRE SMALLINT)
RETURNS (
OUTTIPO VARCHAR(6))
AS
begin
select FH.tipo from horarios_pedestres HP, horarios R, faixa_horarios FH
where (HP.codpedestre = :INCODPEDESTRE) and
(R.codhorario = HP.codhorario) and
(FH.codhorario = HP.codhorario)and
(:INHORARIO BETWEEN FH.horainicio and FH.horafim)
into :OUTTIPO;
suspend;
end
-------------------//------------------------
Quando executo a mesma atraves do ibexpert, ela retorna o dado
esperado sem problema, mas quando e disparada dentro da trigger
acontece o seguinte erro:
------------------//---------------
Conversion error from string "1"
Overflow ocurred during data type conversion.
Error Code: 14
Sinceramente nao sei o que pode estar acontecendo, alguem poderia me
ajudar? Ou indicar algum lugar onde possa encontrar a solucao?
Desde ja agradeco a ajuda de todos.
[]´s
--
"Um homem propõe-se a tarefa de desenhar o mundo. Ao longo dos anos
povoa um espaço com imagens de províncias, de reinos, de montanhas, de
baías, de naves, de ilhas, de peixes, de habitação, de instrumentos,
de astros, de cavalos e de pessoas. Pouco antes de morrer, descobre
que esse paciente labirinto de linhas traça a imagem de seu rosto."
Mais detalhes sobre a lista de discussão lista