sql intégrité Commande pour ajouter une contrainte par défaut



contrainte d'intégrité sql (1)

Il semble y avoir au moins deux façons d'ajouter une contrainte par défaut à l'aide de T-SQL direct. Ai-je raison de dire que la seule différence entre les deux ci-dessous est que la deuxième méthode crée spécifiquement un nom pour la contrainte, et la première méthode en a une générée par SQL Server?

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];

Answer #1

Assez, oui pour un ALTER TABLE

Vous pouvez ajouter un columnn avec default en une étape pour CREATE ou ALTER aussi.

ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')

Comme vous l'avez noté, le système génère un nom s'il n'est pas fourni. CONSTRAINT constraint_name est facultatif dit MSDN. La même chose s'applique à toute column ou table CONTRAINTE

Modifier Si la colonne a déjà été créée et que vous souhaitez uniquement ajouter la contrainte, utilisez:

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;




default-constraint