如何在Oracle SQLDeveloper中查询指定数据类型的表列名
解决Oracle检索特定数据类型列名的问题
DESCRIBE命令仅用于查看表的完整结构,不支持添加过滤条件,你需要通过查询Oracle的数据字典视图来实现需求:
查询当前用户的目标表
执行以下SQL,将EMPLOYEE替换为你的表名,NUMBER替换为你要筛选的数据类型:
SELECT column_name FROM user_tab_columns WHERE table_name = 'EMPLOYEE' AND data_type = 'NUMBER';
注意:Oracle数据字典中表名默认以大写存储,所以table_name的值需要使用大写。
查询其他用户名下的目标表
如果要访问其他用户的表,使用all_tab_columns视图并指定用户名(同样需大写):
SELECT column_name FROM all_tab_columns WHERE owner = 'TARGET_USER' AND table_name = 'EMPLOYEE' AND data_type = 'NUMBER';
管理员权限下查询全库范围的目标表
若你拥有DBA权限,可使用dba_tab_columns视图检索所有用户名下的匹配结果:
SELECT column_name, owner, table_name FROM dba_tab_columns WHERE table_name = 'EMPLOYEE' AND data_type = 'NUMBER';
内容的提问来源于stack exchange,提问作者Bhanu
相关产品推荐
相关产品推荐

