Använd följande kod för att ta bort en enskild icke namngiven standardbegränsning på en kolumn:
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
Om du vill göra detta för en standardkolumn, vilket förmodligen är vanligare än den ursprungliga frågan och jag är säker på att många människor kommer att landa på detta från en Google-sökning, är det bara att ändra raden:
obj.type = 'F'
till
obj.type = 'D'