2014-11-17 1 views

답변

3

당신은 오라클 딕셔너리 뷰 user_objects 사용할 수 있습니다 (모든 스키마에 뷰에 대한) :

select object_name, status from user_objects 
where object_type = 'VIEW' and object_name = 'YOUR_VIEW'; 

테이블하는에 만약을 뷰가 어떤 이유로 든 변경된 경우 뷰를 다시 컴파일해야 할 수 있습니다. 예를 들어 열의 데이터 유형 변경과 같이 표의 구조가 변경되거나보기에서 으로 사용되는 열인 표에서 전체적으로 열이 삭제 된 경우 해당 열의 상태가 변경 될 수 있습니다. 'INVALID'로 봅니다.

또한 "모든 객체"보기의 버전이 있다는 것을 유의하십시오

USER_OBJECTS - 현재 사용자가 소유 한 모든 객체가;
ALL_OBJECTS - 현재 사용자가 모든 권한을 가진 모든 개체.
DBA_OBJECTS - 모든 데이터베이스 객체 (이보기에 액세스하는 데 특별한 권한이 필요)

ALL_ 및 DBA_ 버전

개체의 소유자를 포함하는 추가 열 OWNER 있습니다.

이러한 "명명 규칙"은 다른 Oracle 사전보기에 적용됩니다. [USER_ | ALL_ | DBA_] [INDEXES | 테이블 | 보기 | 등]

별도로 사전에 그 새로운 뷰에 대한 상태를 확인에서
+0

감사합니다. 도움이됩니다. – starkk92

1

아마이 도움이 :

SELECT object_name, 
     status 
    FROM user_objects 
WHERE object_type = 'VIEW'; 

또는

SELECT owner, 
     object_name, 
     status 
    FROM all_objects 
WHERE object_type = 'VIEW'; 
0

, 당신은 할 수 있습니다 :

select 1 from OWNER.MY_NEWLY_CREATED_VIEW; 

또는

select count(*) from OWNER.MY_NEWLY_CREATED_VIEW; 

무엇이든간에 그 피드백에서 새보기의 문, 당신 그것이 효과가 있다는 것을 알기.