For at slette en individuel unavngiven standardbegrænsning på en kolonne skal du bruge følgende kode:
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
Hvis du vil gøre dette for en standardkolonne, hvilket sandsynligvis er mere almindeligt end det oprindelige spørgsmål, og jeg er sikker på, at mange mennesker vil lande på dette fra en Google-søgning, så skal du bare ændre linjen:
obj.type = 'F'
til
obj.type = 'D'