2012-06-13 3 views
17

Oracle 11g를 사용하고 있습니다. 나는 특정 서열이 존재하는지 여부를 결정할 수 있기를 원한다. 아래 코드를 시도했지만 작동하지 않습니다. (그것은 더이 있어야 카운트 값으로 0을 반환) :시퀀스가 ​​Oracle 11g에 존재하는지 여부를 어떻게 확인합니까?

SELECT COUNT(*) 
FROM user_sequences 
WHERE sequence_name = 'SCHEMA.SEQUENCE_NAME'; 

이, 저를 도와주세요 왜 사람이 알고있는 경우. 이처럼 시도하십시오 사용자 MP 같이 쿼리를 실행하는 경우

답변

31

: 다른

SELECT COUNT(*) 
FROM user_sequences 
WHERE sequence_name = 'SEQ_SSO_KEY_AUTHENTICATION'; 

을 다음과 같이 그것을 시도 :

SELECT COUNT(*) 
FROM all_sequences 
WHERE sequence_name = 'SEQ_SSO_KEY_AUTHENTICATION' 
AND sequence_owner = 'MP' ; 
+0

감사합니다. 훌륭한 작품입니다. = D –

0

을 또한, 당신은하지 않을 수 있다는 점에 유의 DB의 모든 시퀀스를 볼 수 있습니다. 위의 제공이 경우 스크립트에서 가 작동하지 않을 수 있습니다, 당신은

SELECT COUNT(*) FROM DBA_SEQUENCES; 

같은 것을 실행해야하지만 DBA_SEQUENCES보기에 액세스 할 수없는 경우이 또한 작동하지 않을 수 있습니다.

체크 Oracle docs.

관련 문제