SQL Server: не может удалить таблицу

Я пытаюсь отбросить все внешние и первичные ключи для назначения, но до сих пор получаю следующую ошибку:

Сообщение 3728, уровень 16, состояние 1, строка 3
'fk_DEPENDENT_ESSN' не является ограничением.

Сообщение 3727, уровень 16, состояние 0, строка 3
Не удалось отбросить ограничение. Смотрите предыдущие ошибки.

Вот мои команды:

Use Company;
Go

--Dropping FKs from Dependent Table
ALTER TABLE Dependent
DROP fk_DEPENDENT_ESSN

--Dropping FKs from Dept_Locations Table
ALTER TABLE Dept_Locations
DROP fk__DEPT_LOCATIONS__Dnumber

--Dropping FKs from Employee Table
ALTER TABLE Employee
DROP FK__Employee__Dno

ALTER TABLE Employee
DROP FK__Employee__Super___ssn

--Dropping FKs from Project Table
ALTER TABLE Project
DROP FK__Project

--Dropping FKs from WORKS_ON Table
ALTER TABLE WORKS_ON
DROP FK__WORKS_ON__Essn

ALTER TABLE WORKS_ON
DROP FK__WORKS_ON__PNO

Как мне это исправить, извините, я не могу опубликовать свою базу данных здесь. если у вас есть какие-либо вопросы, не стесняйтесь комментировать или мы можем по электронной почте.

Спасибо

1 ответ

Ошибка в том, что fk_DEPENDENT_ESSN не существует. Вы скучаете и подчеркиваете? Должно быть fk__DEPENDENT_ESSN?

Вы можете проверить, какие имена ФК используют sysobjects Таблица.

SELECT * FROM sysobjects WHERE name LIKE '%DEPENDENT_ESSN'

См., Что SQL Server 2008 не может удалить ограничение

Другие вопросы по тегам