Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

Триггер не ловит Null вроде   Найти похожие ветки 

 
Vemer   (2004-01-03 17:24) [0]

Здравствуйте.
Есть таблица с двумя полями, POLE(Int) и Ctrl(SmallInt) и триггер Before Update типа:
IF (new.Pole <> old.Pole) then
new.ctrl = old.Ctrl + 1


То есть триггер отмечает в CTRL изменения POLE, но путем несложных экспериментов я установил, что триггер не ловит изменения с NULL и на NULL.
В принципе это можно победить, забивая в поле изначально какие-то значения.
Вопрос - можно ли это победить как-нибудь проще, по другому.


 
jack128   (2004-01-03 17:40) [1]

Тригер, то ловит, не ловит твое условие.
(null <> 10) - это false


 
Rad   (2004-01-03 20:35) [2]

Надо проверять new.Pole IS NULL


 
Vemer   (2004-01-03 23:37) [3]

Всем спасибо.
Триггер слишком громоздкий получаеться (проверка 3-х условий).
Поля текстовые, шифрованные, заполняються не напрямую поэтому просто сделал надпись "нет" когда нет значения.


 
Jack128   (2004-01-04 06:30) [4]


> просто сделал надпись "нет" когда нет значения
Не есть это хорошо. Вдруг нужно будет в базу слово "нет" запихнуть ;-)
А вообще в чем проблема, то?
Сложно вместо IF (new.Pole <> old.Pole) then
написать
if ((new.Pole is null and old.Pole is not null) or
(new.Pole is not null and old.Pole is null) or
(new.Pole <> old.Pole)) then


 
Vemer   (2004-01-04 15:10) [5]

Спасибо за пример, где-нибудь пригодиться (хотя проще будет поставить Default какой-нибудь).
Для 12 полей будет громоздко(IMHO), а запихивать "Нет" в телефоны и адреса навряд-ли придеться + с "нет" даже лучше смотриться. Хотя "громоздко" понятие тоже растяжимое.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
1-93421
sashok
2004-01-16 19:34
2004.01.29
Работа с несколькими объектами


4-93734
lexx777
2003-11-21 23:23
2004.01.29
Синхронизация, семафор, мьютекс


3-93389
belyh
2003-12-30 00:54
2004.01.29
СИМВОЛ в SQL


6-93608
S@shka
2003-11-18 15:30
2004.01.29
Передача аудио по сети


3-93371
Slovarik
2003-12-28 09:08
2004.01.29
Написание внешних хранимых процедур MSSQL 2000 на Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский