Как извлечь тело хранимой процедуры в Teradata
Я пытаюсь извлечь хранимую процедуру DDL путем запроса системных таблиц.
Если я запускаю следующий запрос
выберите * из dbc.tvm, где TableKind = 'P'
оба поля RequestText и CreateText содержат значение NULL. Есть ли способ запросить тело хранимой процедуры, кроме использования SHOW PROCEDURE?
Спасибо.
1 ответ
Решение
DDL (SPL) для хранимых процедур не сохраняется в таблицах словаря данных. Если вы не сохраните свой DDL в репозитории для контроля версий, вам нужно будет написать сценарий команд SHOW PROCEDURE в скрипте BTEQ и экспортировать их в простые файлы. Этот сценарий BTEQ может быть сгенерирован динамически, если вы творчески подходите к своим запросам к словарю данных.