使用
序列(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');
注意事项:
- 请确保在插入数据之前已经创建了序列和触发器。
- 如果需要,你可以根据需要调整序列的起始值和增量。
- 如果需要,你可以为表添加其他约束或索引。