如何在Oracle数据库中获取所有序列?

she*_*aei 59 sql database oracle toad sequence

有没有我可以运行的命令,以便我可以获得所有序列?我正在使用Oracle 11g.我正在使用Toad for Oracle连接它.我可以在视觉上看到Toad中的序列,但我想知道它的命令行.

Mar*_*bak 103

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
Run Code Online (Sandbox Code Playgroud)

请注意,根据定义,由于您是从中返回的所有序列的所有者USER_SEQUENCES,因此没有SEQUENCE_OWNERUSER_SEQUENCES.

  • 这个对我有用:select*from all_sequences; (3认同)
  • 是的,这就是为什么我提到所有三个视图,DBA/ALL/USER_SEQUENCES。每个人都可以访问 USER_ 和 ALL_ 视图,但不一定可以访问 DBA_ 视图。这取决于您当地的安全策略。需要明确的是,如果您无权访问 DBA_ 视图,那么您确实无法回答“如何获取数据库中存在的所有序列?”的问题。 (2认同)

Pet*_* B. 39

您可能没有dba_sequences的权限.所以你总能做到:

select * from user_sequences;
Run Code Online (Sandbox Code Playgroud)

  • 你不能。问题是“是否可以运行任何命令来获取所有序列?” USER_SEQUENCES 只提供您*拥有*的序列。ALL_SEQUENCES 仅提供您有权访问的序列。要正确(且完整)地回答问题,您*需要* DBA_SEQUENCES。如果您无权访问 DBA_SEQUENCES,则无法回答该问题。 (2认同)