oracle数据库如何设置主键自增

lewis 2016-07-13 29次阅读

在Oracle数据库中,可以通过使用序列(Sequence)和触发器(Trigger)来实现主键自增的功能。

首先,创建一个序列来生成自增的主键值:

CREATE SEQUENCE my_sequence
START WITH 1
INCREMENT BY 1
NOCACHE;

然后,在表中定义一个字段为主键,并在该字段上创建一个触发器,使其在插入数据时自动获取序列的下一个值作为主键值:

CREATE TABLE my_table (
    id NUMBER PRIMARY KEY,
    name VARCHAR2(50)
);

CREATE OR REPLACE TRIGGER my_trigger
BEFORE INSERT ON my_table
FOR EACH ROW
BEGIN
    SELECT my_sequence.NEXTVAL
    INTO :new.id
    FROM dual;
END;

这样,在插入数据时,主键字段会自动获取序列的下一个值作为主键值,实现主键的自增功能。



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。