Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come eliminare una colonna con un vincolo in SQL Server

Questo articolo illustra come eliminare una colonna in un database di SQL Server, quando tale colonna ha un vincolo esistente (suggerimento:devi prima eliminare il vincolo).

Se hai mai provato a eliminare una colonna, dì in questo modo:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Solo per ottenere un errore come questo:

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.

Il motivo è che la colonna ha un vincolo esistente e non puoi eliminare la tabella quando ha un vincolo.

Pertanto, è necessario eliminare il vincolo prima di eliminare la tabella.

Rilascia prima il vincolo

Ecco come eliminare il vincolo:

ALTER TABLE Tasks
    DROP CONSTRAINT taskcode_unique;
GO

Risultato:

Commands completed successfully.

Quindi lascia cadere il tavolo

Ora che hai eliminato il vincolo, puoi andare avanti e rilasciare la tabella:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Risultato:

Commands completed successfully.