Hola...
Ya probaste con la funcion
Extract?
Esto es de memoria:
Código SQL
[-]
create procedure ActualizarFecha
declare variable fecha varchar(10);
declare variable horita varchar(8);
declare variable fechita varchar(10);
declare variable Id integer;
as
begin
for
select id, cast(fecha as varchar(10)), cast(extract(Date from Hora) as varchar(10)),
cast(extract(Time from Hora) as varchar(8))
from ItemServicio into :ID, :Fecha, :Fechita, :Horita do
begin
if (:Fecha <> :Fechita) then
update ItemServicio set Hora = cast((:Fecha || ' ' || :Horita) as Timestamp) where Id = :Id;
end
end
Esto es solo una idea, no lo he probado y podría no funcionar...
Actualizando...
Leyendo la ayuda veo que se puede hacer concatenaciones de tipos
Date y
Time, de tal forma que:
Código SQL
[-]
create procedure ActualizarFecha
declare variable fecha Date;
declare variable horita Time;
declare variable fechita Date;
declare variable Id integer;
as
begin
for
select id, Extract(Date from Fecha), extract(Date from Hora), extract(Time from Hora)
from ItemServicio into :ID, :Fecha, :Fechita, :Horita do
begin
if (:Fecha <> :Fechita) then
update ItemServicio set Hora = :Fecha + :Horita where Id = :Id;
end
end
Saludos...