2 votes

Syntaxe incorrecte près de 'for' SQL Server

Je veux ajouter une nouvelle colonne à une table existante qui contient déjà des données. La colonne doit être NON NULL. C'est pourquoi je veux définir une valeur par défaut. Mais lorsque je le fais, il lance l'exception suivante : "Syntaxe incorrecte près de 'for'"

ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000' FOR SIDNew

J'ai déjà consulté Comment définir une valeur par défaut pour une colonne existante et Syntaxe incorrecte près du mot-clé 'FOR' mais aucun d'entre eux ne m'a aidé.

5voto

Mithrandir Points 10545

Il suffit de supprimer la partie FOR SIDNew. Vous ajoutez une nouvelle colonne avec une contrainte par défaut. Vous n'ajoutez pas une nouvelle contrainte par défaut à une colonne existante.

3voto

Paul Spangle Points 1460

Le mot-clé FOR est uniquement requis si vous ajoutez des valeurs par défaut à Azure SQL Data Warehouse ou Parallel Data Warehouse. Si vous utilisez un serveur SQL relationnel normal (sur site ou Azure), alors vous pouvez simplement l'écrire sans le FOR

ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000';

https://msdn.microsoft.com/en-gb/library/ms190273.aspx

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