你的问题很笼统,你是想知道序列的当前值吗?select 序列.nextval from dual就可以了,这个查出来的就是当前序列下一个可以使用的值,序列每读一次都会加1的,比如这次的序列.nextval是18,你下次使用的时候就是19了
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了庆城免费建站欢迎大家使用!
执行如下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';
注意:序列名区分大小写。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
Oracle 怎样查询所有自增的序列名
你如果指的是需要自增值的字段,你需要创建sequence。想要查询自增值, 可以在Sqlplus下运行:
select seq1.nextval from dual; (第一次)
select seq1.currval from dual; (当前值)
使用insert语句时:insert into 表 (需要使用自增值的字段,其它字段1,其他字段2) values (seq1.nextval, 其它字段1所给值,其它字段2所给值),然后commit。
序列和表没有直接关系,一般建表和序列时,都是直接在表明后面加个 '_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') );
----个人理解,如有不妥,还请指正,大家共同学习!!!