Si aprendes como y cuando usar la PL-SQL Function en Oracle SYSDATE en tus PL-SQL Packages en Oracle podrás obtener la fecha y la hora actual del sistema en tu Base de Datos Oracle local.
La PL-SQL Function en Oracle SYSDATE es una palabra reservada en la Base de Datos Oracle, y como su nombre lo indica retorna la fecha actual del sistema en tus PL-SQL Packages en Oracle.
La PL-SQL Function en Oracle SYSDATE es muy útil cuando necesitas realizar operaciones con la fecha actual del sistema o cuando requieres grabar la hora actual del sistema en tus tablas.
La sintaxis de la PL-SQL Function en Oracle SYSDATE es muy simple y fácil de utilizar, solo se debe escribir SYSDATE y no requiere ningún argumento especial. Revisemos algunos ejemplos que te permitan entender mejor el uso de la PL-SQL Function en Oracle SYSDATE en tus PL-SQL Packages en Oracle.
Ejemplo #1: Supone que debes obtener la fecha y hora actual del sistema, veamos como se hace:
/* PL-SQL Function en Oracle */
Select sysdate fecha_actual from dual;
/* PL-SQL Function en Oracle */
Fecha_actual
27/03/12
En este ejemplo se usa la tabla dual para obtener la fecha con un SELECT, solo te permite obtener la fecha actual la que se muestra con el formato de fechas por defecto del sistema de la Base de Datos Oracle. Para obtener la fecha y hora con un formato más amigable debemos realizar lo siguiente:
/* PL-SQL Function en Oracle */
Select to_char(sysdate,’dd/mm/yyyy hh24:mi:ss’) fecha_actual from dual;
/* PL-SQL Function en Oracle */
Fecha_actual
27/03/2012 09:26:58
TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
En este ejemplo se utiliza el SYSDATE en conjunto con la PL-SQL Function en Oracle TO_CHAR para obtener la fecha y la hora en el formato que deseamos. También se puede obtener la fecha directamente en una variable de tipo fecha, de la siguiente forma:
/* PL-SQL Function en Oracle */
Ldt_fecha_actual date;
Begin
Ldt_fecha_actual:= sysdate;
End;
En conclusión la PL-SQL Function en Oracle SYSDATE es muy fácil de utilizar y se puede usar en cualquier parte del código fuente.
Te propongo que pruebes de inmediato estos ejemplos en tu Base de Datos con tus propias tablas, PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica en tus PL-SQL Packages en Oracle.
Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL-SQL Function en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Function en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.
Saludos
Roberto Vicencio – Escritor del Reporte:
“Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
amigo una consulta tengo una tabla en oracle y quiero ponerle una restriccion para el campo fecha de nacimiento es decir que no permita el ingreso de fechas posteriores el sistema, como podria hacerlo ya q he probado de varias formas y no he tenido exito muchas gracias
Hola, gracias por comunicarte, lo que quieres hacer tiene sus complicaciones pero hay alternativas para solucionarlo, el problema es que Oracle no permite usar la función Sysdate dentro de una Constraint Check como esta:
Alter Table Tu_Tabla Add( Constraint Tu_Restriccion_Fecha Check ( Tu_Campo_Fecha < Sysdate ) );
Esta constraint no esta permitida, pero tienes dos soluciones que puedes probar:
1. Validar que la fecha de nacimiento sea valida antes de grabarla en la tabla (recomendada).
2. Crear un Trigger que valide la fecha de nacimiento antes del insert y update.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
PD: Ya obtuviste mi reporte gratuito de 'Cómo Construir un Select Eficiente en Oracle en Solo 7 Pasos', si aún no lo has hecho ingresa aqui:
https://dominatuspackagesen0racle.com/
amigo muchas gracias x tu respuesta, soy nuevo en oracle y tampoco se validar xfavor podrías ponerme un ejemplo de como hacerlo
Hola 100pr3, para realizar esta validación puedes hacer lo siguiente dentro de tu procedimiento almacenado:
if pdt_fecha_nacimiento < sysdate then
insert into tu_tabla(id, fecha_nacimiento) values(123, pdt_fecha_nacimiento);
else
lst_error:= 'Fecha de Nacimiento debe ser menor que la fecha actual';
end if;
PD: Te sugiero que descargues mi reporte gratuito de ‘Cómo Construir un Select Eficiente en Oracle en Solo 7 Pasos’, si aún no lo has hecho puedes descargarlo desde aquí:
https://dominatuspackagesen0racle.com/
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
amigo soy nuevo en oracle y quisiera saber como realizar un procedimiento automático que se reinicie cada cierto tiempo mediante SQL para Oracle.
Hola Yoendry, gracias por comunicarte y excelente tu pregunta, para ejecutar un procedimiento almacenado de forma automática puedes generar un JOB en donde puedes indicar una fecha de ejecución, una hora determinada, si se ejecuta solo una vez, etc. Puedes encontrar mas detalles en el siguiente link:
https://dominatuspackagesen0racle.com/tag/job
PD: Pronto voy a dar un Seminario gratuito sobre como construir un Select de múltiples tablas, debes estar atento para que reserves tu cupo, publicaré el día y la hora en el blog y también por email.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
muchas gracias amigo por las lineas de programación voy a intentarlo y te comento…luego xq la maestra nos dios nuevas lineas unas complicadas con if y wile looop etc