2014-02-12 2 views
32

Есть ли какая-нибудь команда, которую я могу запустить, чтобы получить все последовательности? Я использую Oracle 11g. Я использую Toad для Oracle для подключения к нему. Я могу визуально видеть последовательности в Toad, но мне нравится знать для нее командную строку.Как я могу получить все последовательности в базе данных Oracle?

ответ

57
select sequence_owner, sequence_name from dba_sequences; 


DBA_SEQUENCES -- all sequences that exist 
ALL_SEQUENCES -- all sequences that you have permission to see 
USER_SEQUENCES -- all sequences that you own 

Обратите внимание, что поскольку вы, по определению, владелец всех последовательностей вернулся из USER_SEQUENCES, нет SEQUENCE_OWNER колонки в USER_SEQUENCES.

+1

Я получаю следующее сообщение об ошибке: Ошибка в строке 1 ORA-00942: таблица или представление не существует – sheidaei

+2

Это один работал на меня: выберите * от all_sequences; – sheidaei

+1

Да, поэтому я упомянул все три вида, DBA/ALL/USER_SEQUENCES. У каждого есть доступ к просмотрам USER_ и ALL_, но не обязательно к представлениям DBA_. Это зависит от ваших локальных политик безопасности. Чтобы быть ясным, если у вас нет доступа к представлениям DBA_, то вы действительно не можете ответить на вопрос «Как получить все последовательности, существующие в базе данных?» –

23

Возможно, у вас нет разрешения на dba_sequences. Таким образом, вы всегда можете просто сделать:

select * from user_sequences; 
Смежные вопросы