我使用的是SQL Server 2008 R2,
我可以从具有只读访问权限的链接服务器访问Oracle服务器。
现在我想从Oracle服务器获取具有特定列的表列表。
例如,我想要所有具有“业务地址”列的表。
如果您有任何想法/提示,请提供帮助。!!
感谢。
答案 0 :(得分:3)
如果您拥有权限并假设列的实际名称为BUSINESS_ADDRESS
,则不是包含空格的区分大小写的列名称。
SELECT owner, table_name, column_name
FROM dba_tab_columns
WHERE column_name = 'BUSINESS_ADDRESS'
如果没有,如果您只关心要连接的Oracle用户可以查询的表,则可以使用ALL_TAB_COLUMNS
;如果您只关心要作为拥有者连接的Oracle用户的表,则可以使用USER_TAB_COLUMNS
。
答案 1 :(得分:0)
但是如果您具有访问权限,则可以运行以下SQL语句:
/* schema you are connected to */
SELECT table_name
FROM user_tab_columns
WHERE LOWER(column_name) LIKE '%business%address%'
;
/* all schemas you have access to*/
SELECT owner, table_name
FROM all_tab_columns
WHERE LOWER(column_name) LIKE '%business%address%'
;