52 votes

Comment supprimer la valeur par défaut d’une colonne dans oracle ?

Une colonne d’une table a une valeur par défaut de sysdate et je souhaite la modifier pour qu’elle n’obtienne aucune valeur par défaut, comment faire ?

54voto

Joe Stefanelli Points 72874
ALTER TABLE YourTable MODIFY YourColumn DEFAULT NULL;

3voto

Brian McGinity Points 1671

La seule façon de faire ce que vous voulez est de recréer la table.

C’est assez facile à faire dans Toad, il suffit de faire un clic droit sur la table et de sélectionner « Reconstruire la table ». Toad créera un script qui renommera la table et recréera une nouvelle table. Le script recréera des index, des contraintes, des clés étrangères, des commentaires, etc... et remplissez la table avec des données.

Il suffit de modifier le script pour supprimer « null par défaut » après la colonne en question.

-1voto

Joel Arnold Points 666

Je ne sais pas si cela fonctionne pour les anciennes versions d’Oracle, mais un de mes collègues a en fait découvert que vous pouvez le réinitialiser correctement à l’état où il était initialement (c’est-à-dire comme s’il n’avait jamais été défini) avec:

REMARQUE: Cela ne résout pas le problème si vous comptez sur get_ddl pour comparer la table, comme indiqué par tejoe dans les commentaires, mais au moins sélectionnez data_default dans all_tab_columns retournera (null) et non NULL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X