Ver Mensaje Individual
  #2  
Antiguo 21-05-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
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...

Última edición por maeyanes fecha: 21-05-2008 a las 17:11:39.
Responder Con Cita