|
Как в DB2 посмотреть SQL-текст триггеров, у которых SYSTRIGGERS.ACTION_STATEMENT=NULL?
|
|||
---|---|---|---|
#18+
Приветствую участников узкого круга специалистов по DB2. В системе IBM DB2 for i v7.2 есть таблица, для которой создано несколько триггеров. Нужно понять, какие действия выполняются триггерами при DML-операциях с таблицей. Описание триггеров можно взять из системного каталога QSYS2.SYSTRIGGERS. SQL-тело триггера находится в поле ACTION_STATEMENT. Но в SQL Reference про это поле написано: "Text of the SQL statements in the trigger action. If this is an obfuscated trigger, the text starts with the WRAPPED keyword and is followed by the encoded form of the statement text. Contains the null value if this is a trigger created via the ADDPFTRG command ." И для всех триггеров нужной таблицы в этом поле стоит NULL. Вопрос : где и как в базе данных DB2 for i посмотреть SQL-текст таких триггеров (вероятно, созданных командой ADDPFTRG)? Менеджер базы данных ведь откуда-то берет SQL-текст для исполнения этих триггеров. Желательно получить доступ к триггерам средствами SQL. При необходимости - доступ к терминальным утилитам AS400 ACS есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 07:28 |
|
Как в DB2 посмотреть SQL-текст триггеров, у которых SYSTRIGGERS.ACTION_STATEMENT=NULL?
|
|||
---|---|---|---|
#18+
SBremen, Добрый день Скорее всего, логика заключена в программе с именем TRIGGER_PROGRAM_LIBRARY/TRIGGER_PROGRAM_NAME - это поля таблицы QSYS2.SYSTRIGGERS . Там не обязательно SQL запросы. Это программа на внешнем языке программирования. Вы не сможете посмотреть логику, если у вас нет исходного текста этой программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2019, 18:25 |
|
Как в DB2 посмотреть SQL-текст триггеров, у которых SYSTRIGGERS.ACTION_STATEMENT=NULL?
|
|||
---|---|---|---|
#18+
Mark , благодарю за ответ. Этого я и опасался. В перечне объектов схемы с именем из TRIGGER_PROGRAM_NAME есть объект с именем из TRIGGER_PROGRAM_LIBRARY, у которого OBJTYPE = "*PGM" и OBJATTRIBUTE = "RPGLE". Никогда не сталкивался с языком программирования RPG LE. Не знаю, кто писал эту программу для триггера и где ее исходный код. Я правильно понимаю, что такой триггер остается "черным ящиком" и из самой базы данных больше ничего нельзя вытащить, чтобы понять, что и как этот триггер делает? Известно только, что он синхронизирует данные своей таблицы с несколькими другими таблицами по определенным правилам (которые как раз и нужно узнать), т.е. его логика должна быть не тривиальная. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2019, 23:02 |
|
Как в DB2 посмотреть SQL-текст триггеров, у которых SYSTRIGGERS.ACTION_STATEMENT=NULL?
|
|||
---|---|---|---|
#18+
SBremen Я правильно понимаю, что такой триггер остается "черным ящиком" и из самой базы данных больше ничего нельзя вытащить, чтобы понять, что и как этот триггер делает? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 10:03 |
|
|
start [/forum/topic.php?fid=43&msg=39901617&tid=1600215]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 145ms |
0 / 0 |