开发者

Query to pull all the table names and column names

I need a query (OR开发者_如何学运维ACLE) to pull all the table names and column names in a database for a given value?

Example: If I give a value as "TEST", I need a query which pulls all the TABLE_NAMES and COLUMN_NAMES which has the value "TEST".


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%';


Another way is using bind variables within a procedure such

DEFINE vSearch = '%TEST%'

ACCEPT vSearch char PROMPT 'Enter a search value: '

SELECT * FROM USER_TAB_COLS WHERE column_name LIKE '&&vSearch' OR table_name LIKE '&&vSearch';


View All columns of a particular table user use "ALL_TAB_COLUMNS"

If you wants to describe a particular table user use "DESC Table_name;"

Kindly Try this..


You can use the USER_TAB_COLUMNS tables


This should get you columns and tables and views:

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';

Note you can also use the ALL_* dictionary views if you don't have access to the DBA_ views, but you'll only see objects you have access to.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜