Мне нужно отслеживать зависимости объектов в Teradata. MS SQL Server работает на диске в течение 2 кликов (просмотр зависимостей). В Teradata для зависимостей 1-го уровня я проверил DBC.Tables для определения данных с:Запрос/функция для отслеживания иждивенцев/предшественников в Teradata?
select * from DBC.Tables
where RequestText like '%My_DB.My_Table%'
and DatabaseName||TableName not like '%My_DB%My_Table%'
Есть ли способ, чтобы проверить любой 2-го уровня + зависимости без использования курсоров? С помощью курсоров я могу поймать результаты 1-го уровня и снова запустить запрос на результат, чтобы проверить любой 2-й уровень. Затем повторите так, чтобы до значения activitycount = 0 на выбор. (еще не пробовал это, но я уверен, что он работает). Так что я ищу что-то немного проще, чем SP.
Можете ли вы предоставить более подробную информацию о том, что у вас есть именно в DBC.Tables? – Zsuzsa
Схема/база данных DBC - это главный репозиторий метаданных Teradata (главный пользователь или DB, если хотите). В DBC.Tables вы можете найти имена и определение данных для всех таблиц, представлений, процедур или макросов. (см. ссылку [link] (https://en.wikipedia.org/wiki/Oracle_metadata) для сравнения с метаданными Oracle – Takedasama
Стандартная таблица метаданных Oracle называется, как мне известно, ALL_TABLES, а также ссылка, которую вы отправили, подтверждает это. в вашем запросе он назван просто таблицами. Разве это не что-то другое? Может быть, определенная таблица Teradata? Также имена столбцов различаются в таблице ALL_TABLES – Zsuzsa