powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / глюк при изменении длины поля VARCHAR
8 сообщений из 8, страница 1 из 1
глюк при изменении длины поля VARCHAR
    #38847796
медвежонок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица пустая.
В ней есть поле dcode2 VARCHAR(20).
В триггере на Before Insert есть строчка:
Код: plsql
1.
new.dcode2 = COALESCE(new.dcode2,'');



Через IBExpert меняю длину поля на VARCHAR(40).

Теперь при вставке в это поле строки длиной более 20, вылетает "арифметик оверфлоу" с отсылкой к вышеупомянутой строчке в триггере. O_o
Бэкап/рестор (на всякий) не помог.

В триггере заменил эту строчку на
Код: plsql
1.
IF (new.dcode2 IS NULL) THEN new.dcode2 = '';


а старую закоментил.
Всё нормально стало.
Вернул в триггере старую строчку.
Всё нормально.

Что это было?...

О_о
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847848
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
медвежопокменяю длину поляСмена длины поля очень коварная штука, пользоваться с осторожностью, явно осознавая, что делаешь.
медвежопокЧто это было?...перекомпилировал связанные метаданные и жисть наладилась. Когда есть данные в таблице, желательно их еще и самих на себя проапдейтить.

Предпочитаю грохнуть поле и потом задать новое с требуемыми параметрами, так подводных камней меньше.
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847851
медвежонок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyСмена длины поля очень коварная штука, пользоваться с осторожностью, явно осознавая, что делаешь.

Дак ведь на пустой таблице-то...



Ivan_PisarevskyПредпочитаю грохнуть поле и потом задать новое с требуемыми параметрами, так подводных камней меньше.

Есть куча процедур, работающих с этим полем...
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847855
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
медвежопокЕсть куча процедур, работающих с этим полем...закомментарить, потом вернуть. Собственно это надо сделать прилюбом раскладе, как ты сам выше убедился.
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847856
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
медвежопокпустой таблице-то...медвежопокЕсть куча процедур, работающих с этим полем...нестыковочка, однако.
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847860
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM: TYPE OF
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38847864
медвежонок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyмедвежопокпустой таблице-то...медвежопокЕсть куча процедур, работающих с этим полем...нестыковочка, однако.


В смысле?
...
Рейтинг: 0 / 0
глюк при изменении длины поля VARCHAR
    #38848015
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladTYPE OFЧто собственно тоже не панацея, все едино всплывут грабли с TField на клиенте (или их аналогами из других языков). Могут быть косяки с локальными переменными хранимок, если у них загоняются некие конкатенации, например.

Вы можете как хотите, а я стараюсь длину поля не менять и если таки поменял. то аудит всех свзанных метаданных обязателен.

медвежопокВ смысле?в прямом. "Куча" это все две или все три?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / глюк при изменении длины поля VARCHAR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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