2016-12-30 3 views
-2

Я хочу проверить одну процедуру там, где она называется? Есть ли какой-нибудь способ для него?Могу ли я генерировать DDL для процедуры в db2?

Я попытался сгенерировать с помощью db2look, но он не работал.

+0

M Gade, Я не могу сказать, что вы просите. На какой платформе/версии вы работаете? (например, ISeries, Linux и т. д.). Вы пытаетесь определить, какая программа вызывает хранимую процедуру, или вы знаете имя хранимой процедуры и пытаетесь просмотреть ее текст? – plditallo

+0

Я использую Linux. Я создал одну процедуру с именем SASDBADF.ADFQ_11111_SENSITIVE_PARTA_R032, теперь я пытаюсь найти, где она называется? Есть ли способ найти это? –

+0

В основном я слышу, что вы не уверены, вызван ли этот процесс другим сохраненным proc или исполняемым файлом. Сначала начните с db2, посмотрев на SYSCAT.ROUTINEDEP и SYSCAT.ROUTINES equijoin. Вы ищете зависимости. Ищите имена таблиц, которые использует ваш хранимый proc, - это может помочь инициировать другие знакомые процессы, связанные с ним. – plditallo

ответ

0

Вы можете использовать утилиты sqlpltrc и SQL profiler. Об этом несколько статей, но они могут помочь вызвать вызов стека ваших процедур.

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/tracing?lang=en http://angocadb2.blogspot.com.co/2014/02/tracing-log4db2-with-sqlpltrc.html

Другой способ, который, чтобы посмотреть в колонке текст представления SYSCAT.PROCEDURES, ищет имя ваших процедур. Однако, если есть динамический SQL, это в конечном итоге не поможет. Кроме того, если какая-либо функция или триггер вызывает вас SP, вам нужно искать имя в соответствующих таблицах.

Смежные вопросы