SELECT last_number
FROM all_sequences
WHERE sequence_owner = '<sequence owner>'
AND sequence_name = '<sequence_name>';
Usted puede obtener una variedad de secuencia de metadatos de user_sequences
, all_sequences
y dba_sequences
.
Estas vistas funcionan en todas las sesiones.
EDIT:
Si la secuencia está en su esquema predeterminado a continuación:
SELECT last_number
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
Si desea que todos los metadatos a continuación:
SELECT *
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
creo que sirve ...
EDIT2 :
Una manera de largo aliento de hacerlo de manera más fiable si el tamaño de la memoria caché no es 1 sería:
SELECT increment_by I
FROM user_sequences
WHERE sequence_name = 'SEQ';
I
-------
1
SELECT seq.nextval S
FROM dual;
S
-------
1234
-- Set the sequence to decrement by
-- the same as its original increment
ALTER SEQUENCE seq
INCREMENT BY -1;
Sequence altered.
SELECT seq.nextval S
FROM dual;
S
-------
1233
-- Reset the sequence to its original increment
ALTER SEQUENCE seq
INCREMENT BY 1;
Sequence altered.
Sólo ten en cuenta que si los demás están usando la secuencia durante este tiempo - que (o usted) puede obtener
ORA-08004: sequence SEQ.NEXTVAL goes below the sequences MINVALUE and cannot be instantiated
Además, es posible que desee establecer el caché a NOCACHE
antes de la puesta a cero y luego de nuevo a su valor original después para asegurarse de que no haya almacenado en caché una gran cantidad de valores.
¿Por qué? ¿Cuál es el problema que estás tratando de resolver? Si está usando secuencias correctamente, nunca debería importar qué valores de secuencia se han asignado a otras sesiones o qué valores se pueden asignar a sesiones posteriores. –
Es un control después de la migración de datos para asegurarse de que la secuencia se haya actualizado correctamente de acuerdo con los datos migrados – frno
Entonces, ¿cuál es la desventaja de simplemente obtener el 'nextval' de la secuencia para probar? No estás asumiendo que las secuencias estarán libres de huecos, ¿verdad? Por lo tanto, "desperdiciar" un valor de secuencia no debería ser un problema. –