数据表的字段自增长-sequence

转载 2013年12月04日 15:59:02
MySQL、SQLServer 这些数据库的字段都有自增长属性,oracle则用另一种方式实现字段自增长的,这就是sequence对象。

创建sequence CREATE SEQUENCE 序列名称      INCREMENT BY 1 -- 每次加几个      START WITH 1    -- 从1开始计数      NOMAXVALUE      -- 不设置最大值     NOCYCLE         -- 一直累加,不循环     CACHE 10        -- 缓存10个序列     NOORDER;     --并行时取得序列的顺序

CREATE SEQUENCE TABLE1_SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 100
NOORDER


使用 sequence INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL;
不能在表字段默认值(DEFAULT)中使用顺列号(某某sequence.Next) 要想在增加记录时,自动取得自增量,需使用触发器。例如:
Create SEQUENCE SEQUENCE名称   
MINVALUE  1   
MAXVALUE  1.0E28   
Start With  1   
INCREMENT By  1   
CACHE  20;

Create or Replace Trigger 触发器名   
    Before Insert On 表   
    For Each Row   
Begin  
    Select  SEQUENCE名称.Nextval  Into  :New.表的自增字段名  From  DUAL;   
End; 

相关文章推荐

ORACLE利用Sequence实现字段自增长

在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。  1、Create Sequence 你首先要有CREATE SEQUENCE...

使用Hibernate 创建数据表时,如何使数据库中的字段的长度和Hibernate映射的长度相等呢?

length: 指定该属性所映射数据列的字段的长度 小细节: 如果你想让映射文件在数据库中创建的的 字段是length设置的值的话, 必须要包column属性配置到property中,否则不会成len...

oracle变更数据表字段类型

  • 2014年02月26日 20:05
  • 6KB
  • 下载

【数据库】获取pg的数据表及字段信息

select * from pg_tables where schemaname='public'; select * from information_schema.columns where ta...
  • cdnight
  • cdnight
  • 2014年01月08日 15:29
  • 4688

sql server 2005导入数据表标识字段的配置

sql server 2005导入数据表标识字段的配置 通过“导出数据”迁移数据库时,如何保留标识字段(自增字段)?下面是详细的图解教程。 使用虚拟主机提供的sql ser...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据表的字段自增长-sequence
举报原因:
原因补充:

(最多只允许输入30个字)