创建和管理序列

序列是可以生成唯一序列的方案对象,当您需要唯一主键时,这些序号会非常有用。序列通过伪列 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;

要使用“创建数据库序列”工具创建 EVALUATIONS_SEQUENCE,请执行以下步骤:

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

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

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

  4. 在“创建序列”窗口的“名称”字段中,键入 EVALUATIONS_SEQUENCE ,使其超过默认值“SEQUENCE1”。

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

  6. 在“属性”窗格中:

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

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

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

    4. 单击 "OK"(确定)。

      创建序列 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 AI Database SQL Language Reference 以了解有关 DROP SEQUENCE 语句的信息