sql >> Database >  >> RDS >> Sqlserver

Een kolom neerzetten met een beperking in SQL Server

Dit artikel laat zien hoe u een kolom in een SQL Server-database kunt neerzetten als die kolom een ​​bestaande beperking heeft (Hint:u moet de beperking eerst verwijderen).

Als je ooit hebt geprobeerd een kolom te verwijderen, zeg dan als volgt:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Alleen om een ​​foutmelding als deze te krijgen:

Msg 5074, Level 16, State 1, Line 1
The object 'taskcode_unique' is dependent on column 'TaskCode'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE DROP COLUMN TaskCode failed because one or more objects access this column.

De reden is dat de kolom een ​​bestaande beperking heeft en dat u de tabel niet kunt verwijderen als deze een beperking heeft.

Daarom moet u de beperking laten vallen voordat u de tabel laat vallen.

Laat eerst de beperking vallen

Ga als volgt te werk om de beperking te laten vallen:

ALTER TABLE Tasks
    DROP CONSTRAINT taskcode_unique;
GO

Resultaat:

Commands completed successfully.

Laat dan de tafel vallen

Nu je de beperking hebt laten vallen, kun je doorgaan en de tafel laten vallen:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Resultaat:

Commands completed successfully.

  1. Hoe MySQL op Debian 8 te installeren

  2. Dynamische bewaking van PostgreSQL-instanties met behulp van pg_top

  3. Groeperen met een Case Statement

  4. Converteer een maandnaam naar het maandnummer in SQL Server (T-SQL)