Oracle sequence函数
时间: 2025-04-21 14:13:35 浏览: 16
### Oracle 数据库 Sequence 函数的用法
Sequence 是一种数据库对象,在 Oracle 中用于自动生成唯一的数值。这些数值通常被用来作为表中的主键或唯一标识符。
创建序列可以通过 `CREATE SEQUENCE` 命令完成,语法如下:
```sql
CREATE SEQUENCE sequence_name
START WITH initial_value
INCREMENT BY increment_value
MAXVALUE maximum_value | NOMAXVALUE
MINVALUE minimum_value | NOMINVALUE
CYCLE | NOCYCLE
CACHE cache_size | NOCACHE;
```
使用序列时,可以调用两个伪列来获取下一个值或当前值:
- 使用 `NEXTVAL` 获取序列的下一个值[^1]
- 使用 `CURRVAL` 获取最近一次通过 `NEXTVAL` 获得的值
下面是一个具体的例子展示如何定义并应用序列:
#### 创建一个名为 `emp_seq` 的序列
```sql
CREATE SEQUENCE emp_seq
START WITH 100
INCREMENT BY 1
NOMAXVALUE
NOCYCLE
CACHE 20;
```
此命令会创建一个新的序列 `emp_seq`, 它从 100 开始, 每次增加 1, 并缓存 20 个值以提高性能.
#### 插入数据到员工表中利用序列生成 ID
假设有一个叫做 employees 的表格,其中 employee_id 字段为主键,则可以在插入新记录时这样操作:
```sql
INSERT INTO employees (employee_id, first_name, last_name)
VALUES (emp_seq.NEXTVAL, 'John', 'Doe');
```
这段 SQL 将向 employees 表添加一条新的雇员记录,并自动为其分配由 `emp_seq` 序列产生的唯一编号作为 primary key.
阅读全文
相关推荐


















