2017-05-19 1 views

답변

0
select table_name from all_tables 
minus 
select table_name from all_tab_cols where column_name = 'YOUR_COL'; 
+0

이것을 USER_보기로 변경하면 바로 그럴 것입니다. – BriteSponge

+0

ALL_ 뷰에서 선택할 때 결과를 muddying하는 여러 스키마에서 같은 이름의 다른 테이블을 피하려면 OWNER를 포함시키는 것이 좋습니다. . – APC

+0

감사합니다. 그것은 내 업무를 신속히 처리하는 데 도움이되었습니다. 지연된 응답을 드려서 죄송합니다. –

0

당신은 시도 할 수 있습니다;

SELECT ut.table_name 
FROM user_tables ut 
WHERE NOT EXISTS 
      (SELECT 1 
      FROM user_tab_columns utc 
      WHERE  utc.table_name = ut.table_name 
        AND utc.column_name = 'your_column') 

현재 사용중인 스키마에서 확인합니다. ALL_ 뷰로 변경할 수 있지만 'SYS', SYSTEM, 'MDSYS'등과 같은 스키마 소유자를 필터링해야 할 가능성이 높습니다. @Kacper의 대답은 대부분 당신에게 적합 할 것입니다 . 이것은 이론적으로 인덱스를 사용할 수 있기 때문에 더 빠를 가능성이 있지만 체크하지 않았고 쿼리를 제한하려는 대상에 따라 달라질 수 있습니다.

관련 문제