1

I need to retrieve Table Names from Linked Oracle Database which is on Linked Server with Microsoft SQL Server.

e.g. I can get table names in SQL Server using:

SELECT TABLE_NAME, COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%TELEPHONE%'

but, I need Oracle Code. I am using Microsoft SQL Server with a linked server to Oracle.

Bionic
  • 61
  • 7

2 Answers2

1
SELECT 
     * 
FROM 
     OPENQUERY(ORACLE_DB_NAME,'
          SELECT 
               table_name, 
               column_name 
          FROM 
               cols 
          WHERE 
               column_name LIKE ''%TELEPHONE%'''
      )

Based on your comment "Hi, SQL Query to retrieve Oracle Table Names", you can do the following:

SELECT 
     table_name, 
     column_name
FROM 
     cols
WHERE 
     column_name LIKE '%TELEPHONE%';
Stivan
  • 1,128
  • 1
  • 15
  • 24
0

You can use USER_TAB_COLS or ALL_TAB_COLS view for it. Refer oracle documentation for more information on this views

SELECT TABLE_NAME, COLUMN_NAME 
FROM USER_TAB_COLS 
WHERE UPPER(COLUMN_NAME) LIKE '%TELEPHONE%';

UPPER is used in WHERE clause as names are case sensitive if they are created with double quotes and case insesitive if created with no quotes.

Cheers!!

Popeye
  • 35,427
  • 4
  • 10
  • 31