Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2017, 15:42   #1
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию Firebird. Значение Varchar в Integer-поле при импорте данных

Коллеги, привет. Давненько здесь не был...

Часто приходится в IBExpert (Firebird 2.5) делать импорт данных из различных форматов (в т.ч. из текстового файла с разделителями и Excel).
Таким образом значение в числовое поле попадает не NULL, а Varchar(пустая строка), что приводит к ошибке преобразования данных.

Вопрос такой: можно ли как-то в триггере Before Insert написать если значение равно "Пустой строке", то значение равно "Нулю".

Такой текст триггера приводит к ошибке
Код:
      if (new.summa = '') then
   new.summa = 0;
Такой тоже к ошибке
Код:
       if (cast(new.summa as varchar(25)) = '') then
   new.summa = 0;
Возможно ли в триггере проверить не является ли число ошибочно "Пустой строкой"?
_SERGEYX_ вне форума Ответить с цитированием
Старый 27.02.2017, 17:08   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А настройка при импорте интерпретации пустой строки в text options не катит?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.03.2017, 05:13   #3
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Код:
IF (NEW.SUMMA IS NULL) THEN NEW.SUMMA = 0;
Rik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Firebird. Автоматическое внесение значения в поле при добовлении SNUPY БД в Delphi 11 11.12.2010 14:34
Как изменить в InterBase размер поля varchar(10) на varchar(20) tarakan1983 БД в Delphi 4 23.03.2009 15:35
Сохранение имен столбцов при импорте данных из Delphi в Excel an4ik Общие вопросы Delphi 3 07.03.2009 15:23
как организовать отклик на событие при импорте-экспорте данных Artmi Microsoft Office Excel 8 03.06.2008 23:31
Не читаемые данные при Импорте внешних данных (unicode) al2 Microsoft Office Excel 2 11.02.2008 08:40