Để loại bỏ một ràng buộc mặc định không tên riêng lẻ trên một cột, hãy sử dụng mã sau:
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
Nếu bạn muốn thực hiện việc này cho một cột mặc định, cột này có lẽ phổ biến hơn câu hỏi ban đầu và tôi chắc chắn rằng nhiều người sẽ truy cập vào điều này từ tìm kiếm của Google, thì chỉ cần thay đổi dòng:
obj.type = 'F'
đến
obj.type = 'D'