如何在 oracle sql 中列出具有特定列的模式中的所有表?

How do I list all tables in a schema having specific column in oracle sql?

我找到了使用此查询的所有表的列表 -

SELECT DISTINCT OBJECT_NAME 
  FROM USER_OBJECTS
 WHERE OBJECT_TYPE = 'TABLE' 

但我需要列出所有具有列名 starttime_datestarttime 的表。

您可以使用 USER_TAB_COLS 视图。

例如,

SQL> select table_name, column_name, data_type from user_tab_cols where column_name ='DEPTNO';

TABLE_NAME COLUMN_NAM DATA_TYPE
---------- ---------- ----------
DEPT       DEPTNO     NUMBER
EMP        DEPTNO     NUMBER

SQL>

你可以试试,

select * 
   from user_tab_cols
 where column_name in ('STARTTIME_DATE', 'STARTTIME');

首先,您连接任何架构然后您可以尝试此 SQL。

例如:

SELECT TABLE_NAME,
       COLUMN_NAME,
       DATA_TYPE,
       DATA_LENGTH,
       NULLABLE
  FROM all_tab_columns
 WHERE OWNER = 'schema_name' and column_name = 'column_name';