[Oracle 9i] NLS_DATE_FORMAT='DD/MM/YYYY'
L'objectif est de contraindre les dates à une période afin d'éviter les valeurs excentriques.
1 2
| alter table MACHIN add constraint CC_DTMACHIN
check (DTMACHIN between '01-JAN-1990' and '01-JAN-2100'); |
La table est modifiée. J'exécute une requète
select DTMACHIN from MACHIN
J'ai les enregistrements attendus avec des dates correctes.
Maintenant je modifie le format de date.
alter session set NLS_DATE_FORMAT='DD-MON-YY'
J'exécute la requète et là "fin de fichier de communication" et sur le fichier log "ORA-07445: exception trouvée : vidage coeur ... [Address not mapped to object] ".
Si quelqu'un a une ébauche d'explication, je suis preneur merci d'avance.
PS: j'ai une solution avec un trigger mais cela ne m'interresse pas.
J'ai aussi essayé le code suivant mais cela ne change rien.
1 2 3
| alter table MACHIN add constraint CC_DTMACHIN
check (DTMACHIN between to_date('01/01/1990', 'dd/mm/yyyy')
and to_date('01/01/2100', 'dd/mm/yyyy')); |
Partager