![]() |
|
Модераторы: Akella |
![]()
|
|
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
В таблице T_TARIF первичный индекс построен по полю ID_TARIF, которое имеет тип INTEGER. Поскольку записей в этой таблице очень мало, и много никогда не будет, решил сменить тип с INTEGER на SMALLINT, так как это поле хранится для каждой записи в другой таблице T_USERS (в ней много записей). Таким образом, хочу уменьшить физический размер таблицы T_USERS.
Однако при изменении типа поля IBExpert ругается:
Я так понял, что мешают триггер и генератор, ответственные за инкремент поля ID_TARIF. Как их обойти? В них вроде тип поля не указан нигде... Можно ли изменить тип поля не удаляя триггер с генератором? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
||||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: нет Всего: 17 |
посчитал, оказалось размер не намного уменьшится (другие поля много занимают). Так и быть не буду ничего менять.
Но всё равно интересно, генератор что ли вообще со SMALLINT работать не может? Или может но только если сразу под этот тип делать? -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
по идее "автоинкрементное" поле должно быть Int или лучше int64
|
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Триггер достаточно было закоментировать на время обновления, а потом ...
По поводу смены на SmallInt посмотри статью на www.ibase.ru -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |