Example create not null constraints

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus d'exemple
Domaine Exemple DDL
Voir aussi Example create emp dept original · Example create index

Example create not null constraints rappelle une bonne pratique de conception simple mais souvent négligée : nommer explicitement ses contraintes NOT NULL. Sans nom explicite, Oracle génère un nom système du type SYS_C0012345, illisible et instable d'un environnement à l'autre — ce qui complique le diagnostic d'une erreur de contrainte en production (ORA-01400: cannot insert NULL into (...)) et rend les scripts de migration de schéma moins reproductibles.

Script

-- Nommage explicite des contraintes NOT NULL via ALTER TABLE ... MODIFY

ALTER TABLE user_names
MODIFY (   name             CONSTRAINT user_names_nn1  NOT NULL
         , age              CONSTRAINT user_names_nn2  NOT NULL
         , update_log_date  CONSTRAINT user_names_nn3  NOT NULL
)
/

La même syntaxe CONSTRAINT nom NOT NULL peut être utilisée directement dans un CREATE TABLE, comme illustré pour les contraintes de clé primaire et étrangère dans Example create emp dept original.

Voir aussi