执行如下sql:
select * from user_sequences;
如果需要查看某个特定的序列,如下:
select * from user_sequences ?where ?sequence_name like '%T_SELL_BRAND%';
select * from user_sequences ?where ?sequence_name='SEQ_T_SELL_BRAND';
注意:序列名区分大小写.
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等.
具体步骤如下:/导致这种情况的原因主要是......
序列和表没有直接关系,一般建表和序列时,都是直接在表明后面加个 '_s' 来表示该序列是用于某表的.你想通过脚本来查询的话好像没办法.不过可以通过like来模糊匹配:
select *
from dba_objects t
where t.owner = upper('序列所属用户')
and t.object_type = upper('sequence') and (t.object_name like upper('%你的表名%') or t.object_name = upper('你的表名' || '_s') );
----个人理解,如有不妥,还请指正,大家共同学习!!!
oracle中一个序列可为好多个表使用,所以无法获得,指定某个表使用就可以.
创建序列语法:
CREATE?SEQUENCE?seqTest
INCREMENT?BY?1?--?每次加几个
START?WITH?1?--?从1开始计数
NOMAXvalue?--?不设置最大值
NOCYCLE?--?一直累加,不循环
CACHE?10;?--设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
你先上user_Sequences
视图中查询你想要创建的序列信息zhidao,有则内不建,没有则建.
SELECT
count(*)
FROM
All_Sequences
where
Sequences_name='大写序列名';
看count(*)
判断是容否操作.
----
以上,希望对你有所帮助.
查询当前用户的
①.select * from user_sequences
查询所有的
①.select * from all_sequences
其中sequence_name就是序列的名字