📜  oracle 查找具有列名的所有表 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:20.044000             🧑  作者: Mango

Oracle 查找具有列名的所有表 - SQL

在Oracle数据库中,我们可以使用以下SQL语句来查找所有具有列名的表:

SELECT table_name 
FROM user_tables 
WHERE table_name IN (SELECT table_name 
                     FROM user_tab_cols 
                     WHERE column_name = '需要查找的列名');

以上SQL查询语句可以在当前用户模式下查找具有特定列名的所有表。

这个SQL语句利用了Oracle系统表“user_tables”和“user_tab_cols”。首先,我们在“user_tab_cols”中查找包含特定列名的所有表名,然后在“user_tables”中查找这些表的名称。

如果您想在所有模式中查找具有特定列名的表,则可以使用以下SQL语句:

SELECT DISTINCT owner, table_name 
FROM all_tab_cols 
WHERE column_name = '需要查找的列名'
ORDER BY owner, table_name;

这个SQL语句将在所有的表中查找具有特定列名的表,并返回其所属者和名称。

总之,在Oracle数据库中,我们可以使用系统表来查找特定列名的表。这对于数据库管理员和开发人员来说都非常有用,因为它可以帮助他们快速找到需要的表,而不必在整个数据库中搜索。