Страница 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
				В программных триггерах допустимо использование только объектных интерфейсов.