Resultado de uma Procedure

Firebird

18/10/2007

Pessoal, estou tentando criar uma Procedure para retornar um calculo para o parametro de saia ´CUSTOAT´ , mas não estou conseguindo, como faço para jogar o valor calculado para este parametro ?
Procedure :

CREATE PROCEDURE PR_CUSTOAT (
inicio time,
fim time,
intervalo time,
custohora decimal(15,2))
returns (
custoat decimal(15,2))
as
begin
/* Procedure Text */
if (fim>=inicio) then
custoat=((fim-inicio-intervalo)*24)*custohora;
else
custoat=(24-(inicio*24)+(fim-intervalo)*24)*custohora;

suspend;
end


Murilo-jau

Murilo-jau

Curtidas 0

Respostas

Murilo-jau

Murilo-jau

18/10/2007

Achei o Erro, só consegui alterando os tipos dos parâmetros de entrada, dava erro em calcular uma TIME com DECIMAL :
DDL:

CREATE OR ALTER PROCEDURE PR_CUSTO_AT (
inicio decimal(5,2),
fim decimal(5,2),
inter decimal(5,2),
custohora decimal(15,2))
returns (
custo_at decimal(15,2))
as
begin
/* Procedure Text */
if (fim>=inicio) then
custo_at= ((:fim-:inicio-:inter)*24)*:custohora;
else
custo_at=(24-(:inicio*24)+(:fim-:inter)*24)*:custohora;

suspend;
end^


GOSTEI 0
POSTAR