Страница 1 из 1

Вопрос по триггерам

Добавлено: 18 апр 2011, 16:53
Den_Is
Вот решил разобраться с тригеррами. Посмотрел в 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.
Подскажите "чайнику" что не так делаю?
Да еще вопрос работают ли триггеры для первасива?

Re: Вопрос по триггерам

Добавлено: 18 апр 2011, 18:01
Dmitry_Sol
1.Триггеры в Вип платформонезависимы. И работают для Pervasive в том числе
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: Вопрос по триггерам

Добавлено: 18 апр 2011, 18:06
Den_Is
Что то не компилится, а что за параметр Triggers=on ?
Может быть его где надо прописать?

Re: Вопрос по триггерам

Добавлено: 18 апр 2011, 18:26
Dmitry_Sol
Насколько я знаю Triggers=On - это параметр для проверки триггеров в CHKMSSQL.Он используется на платформах MS SQL и ORACLE для корректировки системных триггеров , и на программные триггера, никак не влияет.

Вы собираете проект Vip.exe?
Какая версия vip?

Re: Вопрос по триггерам

Добавлено: 19 апр 2011, 09:11
Den_Is
версия 3.03.22.

Re: Вопрос по триггерам

Добавлено: 19 апр 2011, 12:23
Den_Is
up извиняюсь

Re: Вопрос по триггерам

Добавлено: 19 апр 2011, 12:31
LaaLaa
"VIP-триггеры", если не изменяет память, появились только в 5-й версии компилятора Vip.exe.

Re: Вопрос по триггерам

Добавлено: 19 апр 2011, 12:38
Den_Is
Прискорбно (

Re: Вопрос по триггерам

Добавлено: 07 июл 2015, 14:15
Senkrid
Не могу скомпилировать с RunDialog:
Ошибка: Нет такой функции, поля или метода : RUNDIALOG...

Вариант использовать через объектный интерфейс или есть другие варианты?

Re: Вопрос по триггерам

Добавлено: 08 июл 2015, 09:46
edward_K
В программных триггерах допустимо использование только объектных интерфейсов.