![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase & Generator [IB6.x]
ploxish © (2003-12-01 11:23:00)
Как удалить генератор в interbase 6.0?
Zacho (2003-12-02 20:28:00) [1]
Читал я когда-то давно, или в fido7.su.dbms.interbase или в forums.demo.ru/epsylon.public.interbase, что DELETE FROM RDB$GENERATORS WHERE RDB$GENERATOR_NAME = "ИМЯ_ГЕНЕРАТОРА"
потенциально черевато чем-то неприятным, но вот точно в чем там дело - не помню. Естественно, это не касается FB и Ya
kaif (2003-12-01 18:51:00) [2]
2 jack128 © (01.12.03 18:09) [7]
Скорее всего, ничего не будет. Будет сообщение об ошибке во время вызова триггера или процедуры:
"invalid request BLR at offset такой-то
generator такой-то not defined"
BlackKing (2003-12-01 18:13:00) [3]
Nu eto ostaneca na sovesti udaljajushego :o)
jack128 (2003-12-01 18:09:00) [4]
> kaif © (01.12.03 15:56) [5]
А что будет если удаленный генератор используется в тригерах/процедурах там не написано?
Anatoly Podgoretsky (2003-12-01 16:11:00) [5]
То есть они сами предлагают хакерские меры, а редактирование системных таблиц иначе не назвать.
kaif (2003-12-01 15:56:00) [6]
Ну вы, блин, даете!
Генератор можно удалить совершенно спокойно, удалив соответствующую запись из системной таблицы RDB$GENERATORS.
Сделай SELECT * FROM RDB$GENERATORS и увидишь все свои генераторы.
Удалить любой из них можно простым
DELETE FROM RDB$GENERATORS
WHERE RDB$GENERATOR_NAME = "ИМЯ_ГЕНЕРАТОРА"
В клонах Yaffil и Firebird работает команда DROP GENERATOR.
В самом IB6.0 она не работает.
В документации по IB6.0 (Language Reference) ясно написано:
Note There is no “drop generator” statement. To remove a generator, delete it from the
system table. For example:
DELETE FROM RDB$GENERATOR WHERE RDB$GENERATOR_NAME = ‘EMPNO_GEN’;
И эта надпись висит в документации, начиная с IB4.*
Zacho (2003-12-01 13:40:00) [7]
Нормальными способами - никак. "Хакерскими" - лучше не надо.
Vemer (2003-12-01 11:48:00) [8]
Возможно генератор где-то используется, или попробуй backup - restore базы. А лучше переименуй и придумай ему другое использование :).
ploxish (2003-12-01 11:35:00) [9]
выдает такую ошибку
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 5
Generator
Statement: Drop Generator NAME_GEN
Vemer (2003-12-01 11:26:00) [10]
1. Удалить его имя из всех триггеров/процедур.
2. Выполнить команду Drop Generator Имя_Генератора