Oracle中自增主键的实现方式是通过使用序列(Sequence)来实现的。序列是一个独立的对象,可以生成唯一的递增数字序列。在创建表时,可以使用序列来定义主键字段的默认值。下面是一个示例:
1. 创建序列:
```sql
CREATE SEQUENCE seq_name
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999999999
CACHE 20;
```
其中,`seq_name`是序列的名称,`START WITH`指定序列的初始值,`INCREMENT BY`指定序列的递增步长,`MINVALUE`和`MAXVALUE`指定序列的最小值和最大值,`CACHE`指定序列缓存的个数。
2. 创建表时,使用序列为主键字段指定默认值:
```sql
CREATE TABLE table_name (
id NUMBER DEFAULT seq_name.NEXTVAL PRIMARY KEY,
...
);
```
这样,每当向表中插入一条新记录时,都会自动从序列中获取下一个唯一的值作为主键字段的值。