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

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

Trigger [D7, IB6.x]


ss300 ©   (2004-05-17 07:09:00) 

дарова мастера..
есть табличка Registr
поля
status и status_str

как написать тирггер чтобы при инсерте в поле status
выполнялся вот такое услови

если status=1 то status_str = 'один'
      ........................ два
и т.д.

заранее благодарен


ss300   (2004-05-17 08:58:00) [1]

я оказ-ся скобку забыл в IF (...)
спасибо что откликнулись


Andriano   (2004-05-17 08:26:00) [2]

И дополню:
изначально такое решение - хранить "один" напротив 1, "два" напротив 2 и т.д. - неверно. Для этого есть ВСЕ средства на клиенте.


Sergey13   (2004-05-17 08:16:00) [3]

2ss300 ©  
А может повежливее надо?
Вместо своего UPDATE сделай просто NEW.STATUS_STR = 'один' и тригер не афтер а бифоре.


ss300   (2004-05-17 07:21:00) [4]

слушай, чувак а может изначально что то надо присвоить в переменную NEW.status ?


Mike Kouzmine   (2004-05-17 07:17:00) [5]

Врешь. Ничего ты не пробовал или не то пробовал.


ss300   (2004-05-17 07:16:00) [6]

пробовал..  но эта падла не перестает ругаться:)


Mike Kouzmine   (2004-05-17 07:14:00) [7]

А ты почитай где NEW доступно. Может в бефоре, а не афтер?


ss300   (2004-05-17 07:10:00) [8]

это не работает! на NEW ругается, почему? - ф.з.

CREATE TRIGGER REGISTR_DOC_AI0 FOR REGISTR_DOC
ACTIVE AFTER INSERT POSITION 0
AS
begin
 /* Trigger text */
 IF NEW.status  = '1'  THEN
 BEGIN
 UPDATE registr_doc SET STATUS_STR = 'один' where NUMBERDOC  =  NEW.numberdoc;
 END
end


Наверх

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