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

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

Используя ЗАБОЙ, полю присваивается NULL, а хотелось бы НОЛЬ [IB6.x, FB]


Страницы:   1 2 3 4 5

q-q ©   (2006-06-06 10:07:00) 

При удалении цифры используется Забой => Полю присваивается NULL, а хотелось бы НОЛЬ. Устанавливать NOT NULL полю не хотелось бы (удалять инф-цию удобней Забоем, а не НУЛЕМ). Триггер на update (if f.new is null then f.new=0) по каждому числовому полю тоже нехорошо.
Подскажите, как решить оптимальнее на уровне базы.


Sergey13   (2006-06-06 10:29:00) [81]

2[8] q-q   (06.06.06 10:24)
Вошебства не бывает. "Триггер на update (if f.new is null then f.new=0)" нормальный и самый правильный выход.


Johnmen   (2006-06-06 10:29:00) [82]

Объявить поле с NOT NULL DEFAULT 0


q-q   (2006-06-06 10:24:00) [83]

Хотелось бы при присваивании полю значения NULL, чтобы оно становилось НУЛЕМ. История про ЗАБОЙ рассказана только для пояснения ситуации, почему такая необходимость возникла.


Сергей М.   (2006-06-06 10:21:00) [84]


> q-q   (06.06.06 10:16) [4]
>
> А на уровне базы


Это и есть "на уровне базы".

Если же речь идет о стороне сервера, то без явного перебора полей в триггере не обойтись.

Впрочем, в FB можно выкрутиться с пом. EXECUTE STATEMENT и прямым обращением к сист.таблицам, но решение не будет совместимо с IB


Polevi   (2006-06-06 10:20:00) [85]

триггер


Ega23   (2006-06-06 10:19:00) [86]


> А на уровне базы


А где ты видел  Backspase | Delete на уровне базы???


q-q   (2006-06-06 10:16:00) [87]

А на уровне базы


Сергей М.   (2006-06-06 10:15:00) [88]

на стороне клиента в обработчике TDataSet.OnBeforePost() пройтись в цикле по полям дейтасета, для каждого поля типа TIntegerField проверить условие IsNull(Value) и если Истина, то тут же присвоить Value = 0


q-q   (2006-06-06 10:12:00) [89]

"ЗАБОЙ" = Backspase | Delete


Ega23   (2006-06-06 10:10:00) [90]

Что такое "Забой"???????????


Страницы:   1 2 3 4 5

Наверх

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