oracle11g自增主键
时间: 2023-09-03 22:15:43 浏览: 96
Oracle11g支持自增主键,可以使用SEQUENCE和TRIGGER来实现。步骤如下:
1. 创建SEQUENCE
使用以下语句创建SEQUENCE:
```
CREATE SEQUENCE sequence_name
START WITH 1
INCREMENT BY 1
NOCACHE
```
其中,sequence_name是SEQUENCE的名称,START WITH指定SEQUENCE的初始值,INCREMENT BY指定SEQUENCE每次递增的值,NOCACHE指定不要缓存SEQUENCE的值。
2. 创建TRIGGER
使用以下语句创建TRIGGER:
```
CREATE OR REPLACE TRIGGER trigger_name
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
SELECT sequence_name.NEXTVAL
INTO :new.id
FROM dual;
END;
```
其中,trigger_name是TRIGGER的名称,table_name是表的名称,:new.id是自增主键列的名称。TRIGGER在每次插入新记录之前,将从SEQUENCE中获取下一个值,并将其赋值给自增主键列。
3. 插入记录
插入记录时,不需要为自增主键列指定值,Oracle会自动为其赋值:
```
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
```
这样就可以实现自增主键了。
阅读全文