За да премахнете отделно неименувано ограничение по подразбиране в колона, използвайте следния код:
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
Ако искате да направите това за колона по подразбиране, което вероятно е по-често срещано от първоначалния въпрос и съм сигурен, че много хора ще стигнат до това от търсене в Google, тогава просто променете реда:
obj.type = 'F'
до
obj.type = 'D'