名前のない個々のデフォルトの制約を列にドロップするには、次のコードを使用します。
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'