199 votes

Modifier une colonne, ajouter une contrainte par défaut

J'ai une table dont l'une des colonnes est "Date" de type datetime. Nous avons décidé d'ajouter une contrainte par défaut à cette colonne

Alter table TableName
alter column dbo.TableName.Date default getutcdate() 

mais cela me donne une erreur :

Syntaxe incorrecte près de '.

Est-ce que quelqu'un voit quelque chose de manifestement erroné ici, qui m'échappe (à part un meilleur nom pour la colonne) ?

12 votes

N'utilisez pas de types ou de mots-clés comme noms de colonnes !

8 votes

Yup, d'accord - "Quelqu'un voit-il quelque chose de manifestement mauvais ici, que je ne vois pas (autre que d'avoir un meilleur nom pour la colonne)".

0voto

Abhijit Poojari Points 75

Modifier la table TableName supprime la contrainte DF_TableName_WhenEntered

modifier la table TableName ajouter une contrainte DF_TableName_WhenEntered getutcdate() par défaut pour WhenEntered

0voto

SQLBlogger Points 11

Je confirme le commentaire de JohnH, n'utilisez jamais les types de colonnes dans les noms de vos objets ! C'est source de confusion. Et utilisez des parenthèses si possible.

Essayez ça :

ALTER TABLE [TableName]
ADD  DEFAULT (getutcdate()) FOR [Date];

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