Dmitriy Kovalenko wrote: > Долго и упорно я оттягивал свое > знакомство с конструкцией EXECUTE STATEMENT,
А здря. В некоторых случаях даёт феноменальное ускорение. Например, на клиенте в процессе юзеровых мучений над неким Select сформирована некая совокупность условий Where, ограничивающих некую выборку для апдейта. Причём апдейт не может быть сформулирован как один стейтмент с этим перечнем условий. Простейший случай - модифицируемая таблица входит в джойн и условия Where наложены на другие таблицы в джойне. Если по старинке - либо бечь по выборке на клиенте из начала в конец и апдейтить по одной (трафик), либо передавать в СП с фокусами список ID (часто неэффективно и тоже трафик), либо формировать псевдовременнную таблицу с ID (мусор и опять трафик). А тут - передаёшь в СП, содержащую строку-константу 'Select ID From как в том селекте на клиенте' короткую (в сравнении) строку с этим самым Where, склеиваешь их там и For Execute Statement Into :ID Do Update. Рррракета. > поэтому не скажу, буду ли я перед ней > лазить в RDB$RELATION_FIELDS... А куда ты из колеи денешься. > Но могло бы быть > удобным из триггера на таблице > (предположим, список имен таблиц, > подлежащих некоему логированию), > создавать "логирующий" триггер для > необходимых таблиц. Не, ну если типа однократная процедура с генерированием статических триггеров, то в общем-то и ничо. А на клиенте такую точно аппликушку сваять и юзать в хвост и в гриву для генерирования триггеров, уже не модно? ;) Обязательно надо в триггере? Кстати, Эксперт на костях IbLogManager-а это делает ведь уж года 3 точно. Кстати, если триггера генерируются в триггерах от спецтаблицы, то нафик тебе в них Current_Table? Там ведь всегда она и будет ;) > Смотрю в описание ES, вижу: "* Any DDL (except > Create/Drop Database).", должно работать... Тока не забудь, что работать начнут только после коммита опять же с клиента. Такшта чем такой гибридный тул с привлечением СП и спецтаблицы лучше клиентского просмотровщика RDB$Relations, генерирующего триггер для текущей в гриде таблицы по шаблону с заглядыванием в RDB$Relation_Fields за именами полей при нажатии пимпочки, ни фига не понятно. -- Regards. Ded.

