Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
titans Member Откуда: Сообщений: 73 |
Всем привет. Знаю, эта тема давно изъезженна вдоль и поперек. Но объясните мне такой момент. Я создаю такие таблицы: create table Teachers.dbo.POST( id int not null identity(1,1) , name varchar (20) not null, constraint PK1 PRIMARY KEY(id) ) create table Teachers.dbo.TEACHER( id int not null identity(1,1) primary key, name varchar (20) not null, IDCode varchar (10) , id_post int references Teachers.dbo.POST(id), tel varchar (7) , Salary int not null, Rise NUMERIC(6,2) not null, HireDate DateTime not null, constraint F_KEY_POST foreign key(id_post) references POST (ID) ON DELETE SET NULL, ) И по заданию мне нужно удалить таблицу POST. Делаю так: alter table Teacher drop constraint F_KEY_POST alter table POST drop constraint PK1 drop table POST Но выходит такая ошибка: Сообщение 3725, уровень 16, состояние 0, строка 2 На ограничение "PK1" есть ссылка в таблице "TEACHER", ограничение внешнего ключа "FK__TEACHER__id_post__45F365D3". Сообщение 3727, уровень 16, состояние 0, строка 2 Нельзя удалить ограничение. См. предыдущие ошибки. Вопрос, почему? Ведь я поставил обнуление в случае удаления главной таблицы. Почему не дает удалить? |
4 ноя 12, 14:18 [13420017] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
и
несколько разные имена, вы не находите ? |
||||
4 ноя 12, 15:04 [13420108] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
Нахожу.... Но почему оно изменило имя? Ведь я сделал constraint F_KEY_POST... Насколько я понимаю, эта команда четко присваивает имя констрейнту. |
4 ноя 12, 15:08 [13420114] Ответить | Цитировать Сообщить модератору |
Alexander Titkin Member Откуда: Москва Сообщений: 91 |
titans, У вас два FK |
4 ноя 12, 15:12 [13420126] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
Так что нужно подправить, что бы таблица удалилась? |
4 ноя 12, 15:12 [13420127] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
Ого. А я даже не знал. Может нужно удалить references Teachers.dbo.POST(id) |
||
4 ноя 12, 15:13 [13420129] Ответить | Цитировать Сообщить модератору |
titans Member Откуда: Сообщений: 73 |
Точно, сработало. Значит это было из-за двух FK. Спасибо. |
4 ноя 12, 15:15 [13420133] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |