if(UI_USER_INTERFACE_IDIOM () == UIUserInterfaceIdiom.pad)
{
print("This is iPad")
}else if (UI_USER_INTERFACE_IDIOM () == UIUserInterfaceIdiom.phone)
{
print("This is iPhone");
}
AFAIK, вы не можете передавать параметры, но вы можете получить то, что хотите, с одной из этих идей:
Пример 1
begin
if (new.phone_ext <> old.phone_ext) then
post_event 'phone_ext_changed_'||new.ID;
end
Пример 2
begin
if (new.phone_ext <> old.phone_ext) then
begin
new.recent_ext_change = 1;
/* or maybe */
new.last_ext_change = cast('now' as DateTime);
/* or maybe */
insert into changed_phone_ext values (gen_id(some_generator, 1), New.ID, 'now');
/* finally, post the event */
post_event 'phone_ext_changed_';
end
end
Я использую оба с успехом в разных приложениях / ситуациях.
Вы можете использовать его следующим образом:
Пример:
Create trigger evento_ai0 for evento
active after insert position 0
AS
BEGIN
Post_Event 'Evento_inserido';
«Создание контекста variavble»
rdb$set_context('USER_SESSION', 'REGISTRO' , 'Registro inserido: '||new.eve_id);
END
Select rdb$get_context('USER_SESSION', 'REGISTRO') from rdb$database;
Это невозможно. Событие - это только имя, если вы добавляете идентификаторы или другие квалификаторы, оно просто становится другим событием, потому что оно имеет другое имя. При подписке на события вы можете подписаться только по имени, вы не можете использовать подстановочные знаки, и невозможно включить параметры.
События предназначены для простого и дешевого уведомления, а Firebird может даже объединить несколько " сообщений одного и того же события в одно уведомление клиенту, поэтому параметры или значения не поддерживаются.
Основная идея заключается в том, что клиент подписывается на события, а затем определяет, что изменилось и что ему нужно реагировать на. Вы можете «помочь» клиенту, например, - заполнить таблицу поддержки, которая является дешевой для запроса.
Также подумайте о том, чтобы прочитать статью «Сила событий Firebird» , она немного устарел, но многие из них по-прежнему применяются, поскольку события Firebird не сильно изменились.