Per eliminare un singolo vincolo predefinito senza nome su una colonna, utilizzare il codice seguente:
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
Se vuoi farlo per una colonna predefinita, che è probabilmente più comune della domanda originale e sono sicuro che molte persone atterreranno su questa da una ricerca su Google, cambia semplicemente la riga:
obj.type = 'F'
a
obj.type = 'D'