В PL/SQL вы можете использовать различные методы для выбора таблиц с определенным именем столбца в системе баз данных. Вот несколько подходов:
- Запрос к словарю данных. В словаре данных хранится информация о структуре базы данных, включая сведения о таблицах и столбцах. Вы можете запросить представления словаря данных, чтобы получить нужную информацию. Например, вы можете использовать представление
ALL_TAB_COLUMNSдля поиска таблиц с определенным именем столбца:
SELECT table_name
FROM all_tab_columns
WHERE column_name = 'your_column_name';
- Использование динамического SQL. Динамический SQL позволяет динамически создавать и выполнять операторы SQL во время выполнения. Вы можете написать блок PL/SQL, который генерирует динамический SQL-запрос на основе имени столбца, который вы хотите найти. Вот пример:
DECLARE
v_table_name VARCHAR2(100);
BEGIN
FOR tbl IN (SELECT table_name
FROM all_tab_columns
WHERE column_name = 'your_column_name')
LOOP
v_table_name := tbl.table_name;
-- Perform further operations with the table name
-- ...
END LOOP;
END;
- Запрос user_tables и user_tab_columns. Если вас интересуют таблицы и столбцы, относящиеся к текущему пользователю, вы можете использовать представления
USER_TABLESиUSER_TAB_COLUMNS. Вот пример запроса:
SELECT table_name
FROM user_tab_columns
WHERE column_name = 'your_column_name';