2012-06-13 13 views
17

Estoy usando Oracle 11g. Quiero poder determinar si existe una secuencia particular o no. He intentado el código a continuación, pero no está funcionando. (Se vuelve 0 como valor de cómputo cuando debería haber más):¿Cómo puedo verificar si existe una secuencia o no en Oracle 11g?

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

Si alguien sabe por qué esto está, por favor, ayúdame.

Respuesta

31

Si está ejecutando la consulta como usuario MP luego tratar de esta manera:

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

otra cosa, trate de esta manera:

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

Gracias, el trabajo es genial. = D –

0

Además, tenga en cuenta que puede que no sea concedido para ver todas las secuencias en DB. En este caso scripts proporcionados anteriormente pueden no funcionar, y se debe ejecutar algo así como

SELECT COUNT(*) FROM DBA_SEQUENCES; 

Pero esto también puede no funcionar si no tiene acceso a la vista DBA_SEQUENCES.

Verificar Oracle docs.

Cuestiones relacionadas