Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Триггер заклинило [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. проверка целостности может ничего не дать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо