20

Oracle 11g を使用しています。特定のシーケンスが存在するかどうかを判断できるようにしたい。以下のコードを試しましたが、うまくいきません。(もっとあるはずのカウント値として 0 を返しています):

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

誰かがこれがなぜなのか知っているなら、私を助けてください。

4

2 に答える 2

42

ユーザーとしてクエリを実行している場合は、次のMPように試してください。

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' ;
于 2012-06-13T11:08:23.453 に答える
1

また、DB 内のすべてのシーケンスを表示できるわけではないことに注意してください。この場合、上記のスクリプトは機能しない可能性があり、次のようなものを実行する必要があります

SELECT COUNT(*) FROM DBA_SEQUENCES;

ただし、DBA_SEQUENCES ビューにアクセスできない場合、これも機能しない可能性があります。

オラクルのドキュメントを確認してください。

于 2015-12-09T14:15:30.173 に答える