Вопрос по триггерам
Модераторы: m0p3e, edward_K, Модераторы
Вопрос по триггерам
Вот решил разобраться с тригеррами. Посмотрел в vipprog.chm данную тему.
В теории все понятно, но вот на практике (((
Беру пример из хелпа.
handler ib1 on trigger X$USERS before insert [99]
action
{
var buf : record as table X$USERS;
Message('X$USERS before insert');
GetTableBuffer(buf);
Message('X$USERS.xu$loginname = ' + buf.xu$loginname);
buf.title := 'IVANOV';
SetTableBuffer(buf);
result := true;
}
rollback
{
Message('X$USERS before insert rollback');
}
Записываю его как vip файл, и пытаюсь откомпилировать.
Но выдается ошибка Ожидался тип объекта handler ib1.
Подскажите "чайнику" что не так делаю?
Да еще вопрос работают ли триггеры для первасива?
В теории все понятно, но вот на практике (((
Беру пример из хелпа.
handler ib1 on trigger X$USERS before insert [99]
action
{
var buf : record as table X$USERS;
Message('X$USERS before insert');
GetTableBuffer(buf);
Message('X$USERS.xu$loginname = ' + buf.xu$loginname);
buf.title := 'IVANOV';
SetTableBuffer(buf);
result := true;
}
rollback
{
Message('X$USERS before insert rollback');
}
Записываю его как vip файл, и пытаюсь откомпилировать.
Но выдается ошибка Ожидался тип объекта handler ib1.
Подскажите "чайнику" что не так делаю?
Да еще вопрос работают ли триггеры для первасива?
-
- Постоянный гость
- Сообщения: 76
- Зарегистрирован: 07 июн 2007, 12:32
- Откуда: Витебск
- Контактная информация:
Re: Вопрос по триггерам
1.Триггеры в Вип платформонезависимы. И работают для Pervasive в том числе
2.Триггеры появились начиная с версии Atlantis 5.3.17
3.Триггеры компилируются через vip.exe или в суппорте через компилятор интерфейсов
4.в таблице x_users нет поля TITLE, поэтому пример не компилируется, но с другой ошибкой
так у меня компилируется
2.Триггеры появились начиная с версии Atlantis 5.3.17
3.Триггеры компилируются через vip.exe или в суппорте через компилятор интерфейсов
4.в таблице x_users нет поля TITLE, поэтому пример не компилируется, но с другой ошибкой
Код: Выделить всё
handler ib1 on trigger X$USERS before insert [99]
action
{
var buf : record as table X$USERS;
Message('X$USERS before insert');
GetTableBuffer(buf);
Message('X$USERS.xu$loginname = ' + buf.xu$loginname);
buf.XU$FULLNAME:='IVANOV';
SetTableBuffer(buf);
result := true;
}
rollback
{
Message('X$USERS before insert rollback');
}
Re: Вопрос по триггерам
Что то не компилится, а что за параметр Triggers=on ?
Может быть его где надо прописать?
Может быть его где надо прописать?
-
- Постоянный гость
- Сообщения: 76
- Зарегистрирован: 07 июн 2007, 12:32
- Откуда: Витебск
- Контактная информация:
Re: Вопрос по триггерам
Насколько я знаю Triggers=On - это параметр для проверки триггеров в CHKMSSQL.Он используется на платформах MS SQL и ORACLE для корректировки системных триггеров , и на программные триггера, никак не влияет.
Вы собираете проект Vip.exe?
Какая версия vip?
Вы собираете проект Vip.exe?
Какая версия vip?
Re: Вопрос по триггерам
версия 3.03.22.
Re: Вопрос по триггерам
up извиняюсь
Re: Вопрос по триггерам
"VIP-триггеры", если не изменяет память, появились только в 5-й версии компилятора Vip.exe.
Re: Вопрос по триггерам
Прискорбно (
-
- Постоянный гость
- Сообщения: 74
- Зарегистрирован: 10 ноя 2009, 07:08
- Откуда: Ангарск
- Контактная информация:
Re: Вопрос по триггерам
Не могу скомпилировать с RunDialog:
Ошибка: Нет такой функции, поля или метода : RUNDIALOG...
Вариант использовать через объектный интерфейс или есть другие варианты?
Ошибка: Нет такой функции, поля или метода : RUNDIALOG...
Вариант использовать через объектный интерфейс или есть другие варианты?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Вопрос по триггерам
В программных триггерах допустимо использование только объектных интерфейсов.