sql >> Database >  >> RDS >> Sqlserver

Naamloze beperkingen laten vallen

Gebruik de volgende code om een ​​individuele naamloze standaardbeperking op een kolom te verwijderen:

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

Als je dit wilt doen voor een standaardkolom, wat waarschijnlijk vaker voorkomt dan de oorspronkelijke vraag en ik weet zeker dat veel mensen hierop zullen belanden via een Google-zoekopdracht, verander dan gewoon de regel:

obj.type = 'F'

naar

obj.type = 'D'


  1. MySQL converteert mijn tijdstempelwaarden naar 0000-00-00

  2. Een databasediagram maken in Access

  3. Extraheer het weeknummer van een datum in SQL Server (T-SQL)

  4. django.db.utils.OperationalError Kon geen verbinding maken met de server