Oracle设置表主键自增

134 阅读1分钟

使用序列(Sequence)触发器(Trigger)来实现,以下是实现步骤

1. 创建序列
CREATE SEQUENCE seq_test_id  
START WITH 1  
INCREMENT BY 1;
2. 创建表结构,并将序列设置成主键自增
CREATE TABLE test (  
    id NUMBER PRIMARY KEY,  
    name VARCHAR2(100)  
);
3. 创建触发器,以便在插入新记录时自动为id列赋值
CREATE OR REPLACE TRIGGER trg_test_insert  
BEFORE INSERT ON test  
FOR EACH ROW  
BEGIN  
    SELECT seq_test_id.NEXTVAL INTO :NEW.id FROM DUAL;  
END;  
4. 测试表数据插入
INSERT INTO test (name) VALUES ('John Doe');

注意事项:

  • 请确保在插入数据之前已经创建了序列触发器
  • 如果需要,你可以根据需要调整序列的起始值和增量。
  • 如果需要,你可以为表添加其他约束或索引。