![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Триггер заклинило [D6, IB6.x]
MsGuns © (2003-03-12 13:16:00)Добрый день Мастерам !
Работаю сейчас над топологией БД (состав, структуры таблиц, ХП и проч.). Так как опыта написания прямых запросов к метаданным маловато (точнее, почти нет), пользуюсь IBExpert.
Так вот, в процессе модификации одной из таблиц (фокусничал с первичным ключом и связанным с ним триггером и генератором получилась у меня клинчевая ситуация:
Есть поле (не PK), зависимое от некого триггера, а самого триггера нет и в списке табличных триггеров его тоже нет ! (Видимо, я его каким-то образом шлепнул)
Удалить это поле, да и всю таблицу, не дает, т.к. "есть зависимость от триггера", удалить триггер не могу, т.к. его нет физически ! Пробовал переконнектиться - до фанеры !
Искал в фичах IBExpert что-то типа проверки целостности метаданных - не нашел (полчаса искал)
Что делать ?
Val (2003-03-12 18:22:00) [1]>Жук © (12.03.03 14:32)
фан не фан, а человека за знания и оказываемую БЕСКОРЫСТНУЮ помощь уважать стоит, думаю.
Desdechado (2003-03-12 17:19:00) [2]можно было попробовать alter trigger сделать
Romkin (2003-03-12 14:36:00) [3]Вообще-то есть просто системные таблицы. Удалить триггер так, чтобы осталась запись в таблице зависимостей трудно, но можно.
rdb$dependencies - столбец rdb$dependent_name - что зависит, rdb$depended_on_name - от чего зависит. Есть и колонка типа, 2 - триггер, 5 - процедура....
Эти таблицы по-умолчанию не показываются, но запрос сделать можно всегда. Для устранения зависимости - просто удалить строки, но аккуратно!
Жук (2003-03-12 14:32:00) [4]Пора открывать фан-клуб "Johnmen"s fans" :-)
MsGuns (2003-03-12 14:12:00) [5]>Johnmen © (12.03.03 13:26)
Помогло ! Правда, после закачки при коннекте не нашла уже другого триггера, но я буду разбираться.
ЗЫ. Честно говоря, открывая ветку, рассчитывал в первую очередь на тебя, Женя, и рад, что не ошибся - спасибо !
Delirium^.Tremens (2003-03-12 14:11:00) [6]Остались его следы в системных таблицах.
Это печально, но не смертельно.
zacho (2003-03-12 14:09:00) [7]
> Открывает две чистых закладки (Refereced By и References).
> Я им еще не пользовался ;(((
Перетащи туда из Database Explorer нужную таблицу ;-)
MsGuns (2003-03-12 14:05:00) [8]>zacho © (12.03.03 13:41)
>В IBExpert есть полезная фича - Dependencies viewer.
Посмотри, может поможет.
Открывает две чистых закладки (Refereced By и References). Я им еще не пользовался ;(((
MsGuns (2003-03-12 14:01:00) [9]>Johnmen © (12.03.03 13:26)
>1. Триггер может быть - системный Нет
>2. backup/restore - боремся с ошметками Попробую
3. проверка целостности может ничего не дать...
а она (Службы->Проверка БД) ничего и не дала !>Соловьев
>Соловьев © (12.03.03 13:27)
>А если создать такой же триггер?
Не дает - орет, что он уже есть
zacho (2003-03-12 13:41:00) [10]В IBExpert есть полезная фича - Dependencies viewer.
Посмотри, может поможет.
В крайнем случае, пересоздай базу из скрипта.
Кстати, скрипт можно создать тем же IBE
Соловьев (2003-03-12 13:27:00) [11]А если создать такой же триггер?
У меня тоже часто проблемы с CASE рода програмками.
Johnmen (2003-03-12 13:26:00) [12]1. Триггер может быть - системный
2. backup/restore - боремся с ошметками
3. проверка целостности может ничего не дать...