Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да пуснете колона с ограничение в SQL Server

Тази статия демонстрира как да премахнете колона в база данни на SQL Server, когато тази колона има съществуващо ограничение (Съвет:Първо трябва да премахнете ограничението).

Ако някога сте се опитвали да пуснете колона, кажете така:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Само за да получите грешка като тази:

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.

Причината е, че колоната има съществуващо ограничение и не можете да пуснете таблицата, когато има ограничение.

Следователно, трябва да премахнете ограничението, преди да пуснете таблицата.

Първо махнете ограничението

Ето как да премахнете ограничението:

ALTER TABLE Tasks
    DROP CONSTRAINT taskcode_unique;
GO

Резултат:

Commands completed successfully.

След това пуснете таблицата

След като сте премахнали ограничението, можете да продължите и да пуснете таблицата:

ALTER TABLE Tasks
    DROP COLUMN TaskCode;
GO

Резултат:

Commands completed successfully.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Изваждане на изчерпваща стойност от редове

  2. ИЛИ не се поддържа с оператор CASE в SQL Server

  3. Как да коригирате „Процедурата очаква параметър „@statement“ от тип „ntext/nchar/nvarchar“.“ Грешка в SQL Server

  4. Как да добавите потребителска група на Active Directory като вход в SQL Server

  5. Изберете изявление, за да върнете родител и безкрайни деца