Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como descartar uma coluna com uma restrição no SQL Server


Este artigo demonstra como descartar uma coluna em um banco de dados SQL Server, quando essa coluna tem uma restrição existente (Dica:você precisa descartar a restrição primeiro).



Se você já tentou descartar uma coluna, diga assim:
ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Apenas para obter um erro como este:
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.

O motivo é que a coluna tem uma restrição existente e você não pode descartar a tabela quando ela tem uma restrição.

Portanto, você precisa eliminar a restrição antes de descartar a tabela.

Elimine a restrição primeiro


Veja como eliminar a restrição:
ALTER TABLE Tasks
    DROP CONSTRAINT taskcode_unique;
GO

Resultado:
Commands completed successfully.

Depois elimine a tabela


Agora que você eliminou a restrição, você pode ir em frente e descartar a tabela:
ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Resultado:
Commands completed successfully.