Sysdate est une procédure sans paramètre qui retourne la date/heure de la base de donnée basée sur l'heure de l'OS sur lequel tourne l'instance de la DB.
Il arrive souvent que des procédures basent leur fonctionnement en fonction de la valeur de Sysdate. Afin de bien tester ces procédures, il serait intéressant de pouvoir changer l'heure retournée par cette procédure.
Une première solution est de changer l'heure de l'OS. Ceci changera donc la date de la DB mais également la date de tous les autres programmes s'exécutant sur le serveur. Il existe une autre solution, qui consiste à fixer la date via la commande suivante :
ALTER System set fixed_date="YYYY-MM-DD-HH24:MI:SS"
A partir du moment où vous exécutez cette commande, chaque appel à Sysdate retournera la date que vous avez fixée et cela n'alterera que la DB.
Pour que Sysdate récupère son fonctionnement initial (c'est à dire retourner l'heure courante), il suffit de remplacer la date que vous avez définie par None :
ALTER System set fixed_date=None
Il est ainsi possible de tester des procédures en simulant la date d'éxécution.
source :
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams073.htm
jeudi 30 juin 2011
mardi 15 mars 2011
Periodic Table of HTML5 Elements
Un petit tableau contenant les éléments présents en HTML5 sous forme d'un tableau périodique. Chaque élément du tableau permet d'avoir la description de l'élément ainsi que le lien correspondant sur le site du W3School.
Periodic Table of HTML5 Elements
Periodic Table of HTML5 Elements
Récupérer le nom d'une propriété dynamiquement
Certaines librairies prennent en paramètres de leurs fonctions le nom (sous forme de string) de la propriété sur laquelle doit s'effectuer l'action. Par exemple, avec nhibernate, il est nécessaire lorsque l'on fait un Criteria de donner le nom des propriétés sur lequelles on execute une Restriction.
Le problème avec ce genre de méthode, c'est que le risque de faire une faute de frappe est important et il n'y a pas de vérification à la compilation.
Heureusement, la reflection vient à notre secours! Une solution consiste à passer une lambda expression de la propriété et par reflection récupérer les informations notamment son nom.
Voici une implémentation d'exemple qui extrait de la lumbda expression la propriété de l'objet pour récupérer son nom :
Le problème avec ce genre de méthode, c'est que le risque de faire une faute de frappe est important et il n'y a pas de vérification à la compilation.
Heureusement, la reflection vient à notre secours! Une solution consiste à passer une lambda expression de la propriété et par reflection récupérer les informations notamment son nom.
Voici une implémentation d'exemple qui extrait de la lumbda expression la propriété de l'objet pour récupérer son nom :
Inscription à :
Articles (Atom)