在 Oracle 中,主键自增可以通过使用序列(Sequence)和触发器(Trigger)来实现。以下是设置自增主键的方法:
- 创建一个序列(Sequence),定义序列的起始值、递增值和最大值等参数。
CREATE SEQUENCE seq_name
START WITH 1
INCREMENT BY 1
MAXVALUE 999999999
NOCACHE;
- 在表中定义主键字段,并使用序列的 NEXTVAL 作为默认值。
CREATE TABLE table_name (
id NUMBER PRIMARY KEY DEFAULT seq_name.NEXTVAL,
...
);
- 创建一个触发器(Trigger),在插入数据时触发,将序列的 NEXTVAL 赋值给主键字段。
CREATE TRIGGER trigger_name
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
SELECT seq_name.NEXTVAL INTO :NEW.id FROM dual;
END;
通过以上步骤,可以实现在插入数据时自动为主键字段赋予自增的值。