我正在使用 SQL Server 2008 R2,
我可以从具有只读访问权限的链接服务器访问 Oracle 服务器。
现在我想从具有特定列的 Oracle 服务器获取表列表。
例如,我想要所有具有“公司地址”列的表。
如果您有任何想法/提示,请提供帮助。!!
谢谢。
我正在使用 SQL Server 2008 R2,
我可以从具有只读访问权限的链接服务器访问 Oracle 服务器。
现在我想从具有特定列的 Oracle 服务器获取表列表。
例如,我想要所有具有“公司地址”列的表。
如果您有任何想法/提示,请提供帮助。!!
谢谢。
如果您有权限并假设列的实际名称是BUSINESS_ADDRESS
,而不是包含空格的区分大小写的列名称。
SELECT owner, table_name, column_name
FROM dba_tab_columns
WHERE column_name = 'BUSINESS_ADDRESS'
如果没有,ALL_TAB_COLUMNS
如果您只关心您连接的 Oracle 用户可以查询的USER_TAB_COLUMNS
表,或者您只关心您连接的 Oracle 用户拥有的表,则可以使用。
但如果您有访问权限,则可以运行以下 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%'
;