Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при удалении FK в скрипте... / 11 сообщений из 11, страница 1 из 1
15.08.2003, 11:21
    #32237395
Posco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Имеется скрипт:

Код: plaintext
1.
2.
ALTER TABLE POLICIES DROP CONSTRAINT FK_POLICIES_AGENTID;
ALTER TABLE POLICIES DROP CONSTRAINT FK_POLICIES_POLICYID;
ALTER TABLE POLICIES DROP CONSTRAINT FK_POLICIES_REGIONID;


После удаления первого ключа, вторая и третья строчки не выполняются.
Ошибка:
This operation is not defined for system tables. unsuccessful metadata update. object INDEX is in use.

Удаление возможно только после повторного подключения к базе.

IBServer: Yaffil 1.2.0.872b

Заранее спасибо!
...
Рейтинг: 0 / 0
15.08.2003, 11:51
    #32237427
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Скорее всего в ХП используется план по первому индексу ...
...
Рейтинг: 0 / 0
15.08.2003, 11:52
    #32237430
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Dnico
ХП????
можду прочим эти команды нельзя вызвать с процедуры
...
Рейтинг: 0 / 0
15.08.2003, 11:57
    #32237439
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Я имел ввиду, что в какой-нить ХП явно указан PLAN
...
Рейтинг: 0 / 0
15.08.2003, 11:58
    #32237443
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
тогда как вообще возможно удаление остальных констрейнов?
...
Рейтинг: 0 / 0
15.08.2003, 12:03
    #32237454
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Иногда бывает так что в IBExpert появляется object INDEX is in use, тогда когда в SQL - редакторе выполнялся до этого SELECT, или еще что-нибудь ...
...
Рейтинг: 0 / 0
15.08.2003, 12:20
    #32237480
Posco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Иногда бывает так что в IBExpert появляется object INDEX is in use, тогда когда в SQL - редакторе выполнялся до этого SELECT, или еще что-нибудь ...

...тоже об этом подумал, т.к. скрипт содержит не только удаление этих индексов, ...но и при отдельном выполнении данной части скрипта возникает трабл
...
Рейтинг: 0 / 0
15.08.2003, 12:23
    #32237485
Ошибка при удалении FK в скрипте...
Привет!

Мое личное мнение, это типичный баг интербейса. если кто не верит, попробуйте:
- стопнуть сервер, стартануть, стопнуть базу (все это, что бы убедиться, что индексы никто не использует);
- разом удалить все внешние ключи на более менее большой базе (ну хотя бы пара сотен ключей).

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

Выход из ситуации - перед каждым ALTER поставить CONNECT.
...
Рейтинг: 0 / 0
15.08.2003, 12:25
    #32237491
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Вообщем надо копать туда ..., что выполнялость до того ?
...
Рейтинг: 0 / 0
15.08.2003, 12:43
    #32237529
Posco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
2фанат интербейса
Выход из ситуации - перед каждым ALTER поставить CONNECT
да, это выход, но не из лучших ...Но пока единственный ;)

2Dnico
Вообщем надо копать туда ..., что выполнялость до того ?
нет, отпадает.
Только что пробовал проделать следующее: на совершенно чистой машине установил FireBird (специально использовал другой сервер, чтобы проверить не глюк ли это Ya). Закинул базу, выполнил вышеуказанный скрипт - такой же трабл.

Если есть у кого соображение, поделитесь пожайлуста.
...
Рейтинг: 0 / 0
16.08.2003, 08:27
    #32238157
Posco
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при удалении FK в скрипте...
Проблема решена!
Если кому интересно, то вот таким вот способом:
Насколько понял, при создании FK, автоматически создается системный триггер. Если удалить этот триггер, то внешний ключ, в последующем, удаляется без проблем.

Всем спасибо за участие!
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка при удалении FK в скрипте... / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]