创建和管理序列

序列是可以生成唯一序列的方案对象,当您需要唯一主键时,这些序号会非常有用。序列通过伪列 CURRVAL 和 NEXTVAL 使用,这些伪列分别返回序列的当前值和下一个值。

在创建序列后,必须使用 NEXTVAL 来初始化序列的第一个值。只有在初始化序列之后,CURRVAL 才会返回其当前值。

HR 方案具有三个序列:DEPARTMENTS_SEQUENCE、EMPLOYEES_SEQUENCE 和 LOCATIONS_SEQUENCE。

提示:当您计划使用序列来填充表的主键后,请为序列赋予一个可反映此目的的名称。(本主题使用 TABLE_NAME _SEQUENCE 命名惯例。)

另请参见:

教程:创建序列

本教程介绍如何使用“创建数据库序列”工具创建序列,以生成 EVALUATIONS 表的主键。

EVALUATIONS 表是在 Example 4-1 中创建的。

要创建序列,请使用 SQL Developer 的“创建序列”工具,或者用 DDL 语句 CREATE SEQUENCE。对应的 DDL 语句为:

CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;

使用“Create Database Sequence(创建数据库序列)”工具创建 EVALUATIONS_SEQUENCE 的步骤:

  1. 在 "Connections"(连接)框架中,展开 hr_conn

  2. 在方案对象类型的列表中,右键单击序列

  3. 在选项列表中,单击新建序列

  4. 在“Create Sequence(创建序列)”窗口的“Name(名称)”字段中,在默认值“SEQUENCE1”上键入 EVALUATIONS_SEQUENCE

  5. 如果未显示“属性”窗格,请单击选项卡属性

  6. 在“Properties(属性)”窗格中:

    1. 在“增量”字段中,键入 1

    2. 在“开头为”字段中,键入 1

    3. 对于其余字段,接受默认值。

    4. 单击确定

      创建序列 EVALUATIONS_SEQUENCE。其名称显示在连接框架中的“Sequences(序列)”下。

另请参见:

删除序列

要删除序列,请使用 SQL Developer 连接框架和“删除”工具,或使用 DDL 语句 DROP SEQUENCE。

此语句删除序列 EVALUATIONS_SEQUENCE:

DROP SEQUENCE EVALUATIONS_SEQUENCE;

注意:请勿删除序列 EVALUATIONS_SEQUENCEExample 5-3 需要该序列。如果您要练习删除序列,请创建其他序列,然后删除它们。

使用“删除”工具删除序列的步骤:

  1. 在 "Connections"(连接)框架中,展开 hr_conn

  2. 在方案对象类型的列表中,展开序列

  3. 在序列列表中,右键单击要删除的序列的名称。

  4. 在选项列表中,单击删除

  5. 在 "Drop" 窗口中,单击 Apply

  6. 在“确认”窗口中,单击确定

另请参见: Oracle Database SQL Language Reference(了解有关 DROP SEQUENCE 语句的信息)