나는 새 데이터베이스입니다.작성된보기가 유효한지 여부를 알아 보는 방법
내가보기에 강제로보기를 만들었습니다.
생성 된보기가 유효하지 않은지 어떻게 알 수 있습니까?
나는 뷰의 유효성 상태를 알 수있는 쿼리가 있습니까?
감사합니다.
나는 새 데이터베이스입니다.작성된보기가 유효한지 여부를 알아 보는 방법
내가보기에 강제로보기를 만들었습니다.
생성 된보기가 유효하지 않은지 어떻게 알 수 있습니까?
나는 뷰의 유효성 상태를 알 수있는 쿼리가 있습니까?
감사합니다.
당신은 오라클 딕셔너리 뷰 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 | 테이블 | 보기 | 등]
별도로 사전에 그 새로운 뷰에 대한 상태를 확인에서아마이 도움이 :
SELECT object_name,
status
FROM user_objects
WHERE object_type = 'VIEW';
또는
SELECT owner,
object_name,
status
FROM all_objects
WHERE object_type = 'VIEW';
, 당신은 할 수 있습니다 :
select 1 from OWNER.MY_NEWLY_CREATED_VIEW;
또는
select count(*) from OWNER.MY_NEWLY_CREATED_VIEW;
무엇이든간에 그 피드백에서 새보기의 문, 당신 그것이 효과가 있다는 것을 알기.
감사합니다. 도움이됩니다. – starkk92