零基础学习sql(7) 序列

来源:互联网 发布:微信预约排号系统源码 编辑:程序博客网 时间:2024/06/16 06:25

序列是什么东西?

序列也是一种对象,是oracle提供的对象。。。

有人问我,怎么看oracle 有多少对象?

 

SQL> select count(1) cn ,object_type from dba_objects group by object_type having count(1) >100 order by 1 desc;

        CN OBJECT_TYPE
---------- -------------------
     27802 SYNONYM
     22917 JAVA CLASS
      5057 VIEW
      4003 INDEX
      2975 TABLE
      2820 TYPE
      1312 PACKAGE
      1252 PACKAGE BODY
       939 LOB
       834 JAVA RESOURCE
       617 TRIGGER

        CN OBJECT_TYPE
---------- -------------------
       366 TABLE PARTITION
       357 INDEX PARTITION
       328 JAVA DATA
       304 FUNCTION
       240 TYPE BODY
       229 SEQUENCE
       183 LIBRARY
       170 PROCEDURE

 

 

我会给大家介绍 表,索引,视图, 序列,其他的不介绍了。

 

 

我们来看序列:

 

上官方文档,这里交下大家怎么看官方文档:

去官网下下来。。。。打开这个index.htm

D:\Oracle_11.2_Document\index.htm   里面有本书是concept 的

 

按ctrl + f  搜sequence;

CREATE SEQUENCE customers_seqSTART WITH      1000INCREMENT BY    1NOCACHENOCYCLE;

 

 

我来写个例子;

 

SQL> create sequence seq_t;

序列已创建。

 

然后通过plsql dev 工具可以查看到他的信息:

create sequence SEQ_T
minvalue 1    ----最小值
maxvalue 9999999999999999999999999999   ---- 最大值
start with 1    ---  最开始的值
increment by 1   ----  增长步长
cache 20;    ---- 数据库开始的缓存数量

 

对于序列怎么用呢?

 

序列有当前值,和下一步值

对应的属性是

SQL> select seq_t.nextval from dual;

   NEXTVAL
----------
         1

SQL> select seq_t.currval from dual;

   CURRVAL
----------
         1

 

实际中用什么呢?

其实实际中只用nextval 属性  ,ok 理清楚了吧。。。

对于一些日志表的记录log 还有实际中的工单,短信id 等,都可以用徐磊。

 

问题:  序列的cache 有什么用?

 

 

 

 

1 0
原创粉丝点击