Pour supprimer une contrainte par défaut individuelle sans nom sur une colonne, utilisez le code suivant :
DECLARE @ConstraintName VARCHAR(256)
SET @ConstraintName = (
SELECT obj.name
FROM sys.columns col
LEFT OUTER JOIN sys.objects obj
ON obj.object_id = col.default_object_id
AND obj.type = 'F'
WHERE col.object_id = OBJECT_ID('TableName')
AND obj.name IS NOT NULL
AND col.name = 'ColunmName'
)
IF(@ConstraintName IS NOT NULL)
BEGIN
EXEC ('ALTER TABLE [TableName] DROP CONSTRAINT ['[email protected]+']')
END
Si vous voulez faire cela pour une colonne par défaut, ce qui est probablement plus courant que la question d'origine et je suis sûr que beaucoup de gens y arriveront à partir d'une recherche Google, alors changez simplement la ligne :
obj.type = 'F'
à
obj.type = 'D'