您的位置:首页 > 数据库 > Oracle

oracle数据库ID自动增长

2010-12-21 15:01 253 查看
很多商用数据库都有随着记录的插入而表的ID自动增长的功能,而oracle却没有这样的功能,但这并不影响我们的使用,我们可以用序列和触发器来实现这样的功能。

举一个实例来说明使用方法。

1、首先要建立一个序列,sql语句如下。

create sequence msg_SEQ
minvalue 1
maxvalue 999999999999999999
start with 601
increment by 1
cache 20;

2、建立触发器,

CREATE OR REPLACE TRIGGER "msgautoid_trig"

BEFORE INSERT ON msg

REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW

DECLARE

BEGIN

SELECT msg_seq.NEXTVAL INTO :NEW.ID FROM DUAL;

END msgautoid_trig;

3、建立表

create table msg
(
ID NUMBER not null,
USERID NUMBER,
USERNAME VARCHAR2(200),
DEPTID NUMBER
)

这三步之后,你就可以使用自动增长的ID了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: