Запрос на получение всех имен таблиц и столбцов - PullRequest
2 голосов
/ 11 августа 2010

Мне нужен запрос (ORACLE) для извлечения всех имен таблиц и столбцов в базе данных для заданного значения?

Пример: если я задаю значение как «TEST», мне нужен запрос, который извлекает все TABLE_NAMES и COLUMN_NAMES со значением «TEST».

Ответы [ 5 ]

1 голос
/ 07 марта 2012

Просмотреть все столбцы пользователя определенной таблицы: "ALL_TAB_COLUMNS"

Если вы хотите описать пользователя конкретной таблицы, используйте "DESC Table_name;"

Пожалуйста, попробуйте это ..

1 голос
/ 12 августа 2010

Другой способ - использовать переменные связывания в процедуре, такой как

DEFINE vSearch = '% TEST%'

ACCEPT vSearch char PROMPT 'Введите значение для поиска:'

ВЫБРАТЬ * FROM USER_TAB_COLS ГДЕ column_name LIKE '&& vSearch' ИЛИ table_name LIKE '&& vSearch';

1 голос
/ 11 августа 2010
select table_name, null column_name from all_tables where table_name like '%TEST%'
union all
select null, column_name from all_tab_columns where column_name like '%TEST%';
0 голосов
/ 11 августа 2010

Это должно получить столбцы, таблицы и представления:

SELECT 'Column: '||owner||'.'||table_name||'.'||column_name 
  FROM dba_tab_columns 
 WHERE column_name = 'TEST'
UNION ALL 
SELECT 'Table: '||owner||'.'||table_name 
  FROM dba_tables 
 WHERE table_name = 'TEST'
UNION ALL 
SELECT 'View: '||owner||'.'||view_name
  FROM dba_views
 WHERE view_name = 'TEST';

Обратите внимание, что вы также можете использовать словарные представления ALL_ *, если у вас нет доступа к представлениям DBA_, но вы увидите только те объекты, к которым у вас есть доступ.

0 голосов
/ 11 августа 2010

Вы можете использовать таблицы USER_TAB_COLUMNS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...