Oracle - problema con fechas al crear tabla

 
Vista:

problema con fechas al crear tabla

Publicado por josua3 (2 intervenciones) el 24/03/2011 22:07:30
Hola programadores, tengo una duda y no se como resolverla. Mi problema es el siguiente: tengo que crear una tabla con varios campos pero 2 de estos campos son tipo date, entonces uno de los 2 date depende del primero, me explico mejor: un campo date se llama inicio_alquiler y el otro se llamara final_alquiler, entonces inicio_alquiler lo entrara el usuario, pero final_alquiler yo necesito darle el valor por defecto de 2 dias mas que el inicio_alquiler, pero esto en el momento de crear la tabla, o sea que final_alquiler tiene fecha de caducidad. He probado en decirle que final_alquiler date default inicio_alquiler+2, pero no me funciona..., alguien podria ayudarme please...

muchas gracias y adelante con vuestras intervenciones, seguro ayudan a mucha gente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problema con fechas al crear tabla

Publicado por luisma (1 intervención) el 29/03/2011 08:08:32
hola

tienes que crear un trigger que se lance al insertar o actualizar un registro donde especifias el valor que tendra la fecha final

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con fechas al crear tabla

Publicado por josua3 (2 intervenciones) el 30/03/2011 23:07:49
no entiendo, puedes poner un ejemplo.
ademas yo quiero hacerlo asi al crear la tabla, solo se puede con un trigger?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con fechas al crear tabla

Publicado por luisma (14 intervenciones) el 01/04/2011 08:09:52
el trigger se lanza cuando quieres hacer un update, un insert o un delete sobre una tabla. en este caso entiendo que cada vez que quieras poner una fecha de inicio o la actualices, a la fecha final le tienes que sumar 2 dias. Un ejemplo:

create table tabla (campo1 date, campo2 date)

CREATE TRIGGER tu_trigger
before
INSERT OR UPDATE ON tabla REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
begin
:new.campo2 := :new.campo1 + 2;
end;
/

Cuando hagas el insert te pondra el valor del campo1 +2 dias
insert into tabla (campo1) values ( sysdate);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar