Я пытался просмотреть определение триггера для триггера для AS400 и не могу найти команду, которая помогла бы мне это сделать. Я могу перечислить триггеры, создать или удалить их, но как просмотреть определение триггера.
Как просмотреть определение триггера в AS400
Ответы (4)
DSPFD FILE(LIB/FILE) TYPE(*TRG)
предоставит вам основную информацию о том, какая программа вызывается и когда срабатывает триггер.
Trigger Definition
.
- person user2338816; 10.10.2014
Используйте Навигатор iSeries, чтобы перейти к соединению в элементе Базы данных. Под соответствующей схемой щелкните Триггеры. Затем щелкните правой кнопкой мыши интересующий вас триггер и выберите «Определение».
При просмотре списка триггеров просмотрите столбец «Тип», чтобы узнать, является ли ваш триггер «SQL» или «Внешний». «Внешний» триггер записывается на языке HLL, таком как RPG, C, COBOL или другом. Чтобы увидеть внешнее определение, вам нужно найти источник, который использовался для компиляции. Команда DSPPGM может вывести список модулей программы и показать вам, где может находиться источник.
Доступ к тривиальному примеру определения триггера SQL с помощью iNav можно получить следующим образом:
После детализации щелкните правой кнопкой мыши нужный триггер и выберите «Определение». Вкладка Общие определения выглядит следующим образом:
И вкладка SQL может быть:
Этот пример SQL-триггера просто отправляет сообщение в очередь сообщений при выполнении INSERT.
Внешний триггер покажет название программы. Из описания программы можно было проследить до источника.
Информация TRIGGER доступна из каталога VIEWs, как и в любой другой DB2; т. е. DB2 для i ["для AS400" из OP] мало чем отличается от других вариантов DB2 [LUW и для z] или других СУБД, которые предлагают доступ к метаданным и аналогичной информации через свои каталоги SQL. ответ, описывающий, как найти\представить информацию TRIGGER с помощью функции iNav->Database, представляет собой всего лишь один конкретный путь, по которому можно следовать для получения информации из каталогов; в более общем случае те же данные могут быть напрямую запрошены с помощью SQL SELECT данных каталога.
Столбец ACTION_STATEMENT [для ТЕКСТА] представления каталога SYSTRIGGER может быть тем, на что OP ссылается, по крайней мере частично, как «Определение триггера». Конечно, определяющие аспекты TRIGGER гораздо больше, чем просто эффективное определение процедуры, включая такие детали, как ACTION_TIMING, который описывает, выполняются ли действия ДО или ПОСЛЕ события триггера, определенного для любой из INSERT, UPDATE или INSTEAD.
Следующие документы относятся к каталогам в целом и конкретно к каталогу SYSTRIGGERS:
http://www.ibm.com/support/knowledgecenter/api/content/ssw_ibm_i_71/db2/rbafzcatalogtbls.htm
http://www.ibm.com/support/knowledgecenter/api/content/ssw_ibm_i_71/db2/rbafzcatsystrigger.htm
Вы можете получить определение триггера, используя QSYS2.GENERATE_SQL().