企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# SAP HANA 教程:创建序列 > 原文: [https://www.guru99.com/sap-hana-create-sequence.html](https://www.guru99.com/sap-hana-create-sequence.html) **什么是序列?** 序列是一个数据库对象,它根据序列规范中指定的规则自动生成数值的递增列表。 例如,在表的列(EMPLOYEE_NO)中自动插入员工编号,当在表中插入新记录时,我们使用序列。 序列值按升序或降序生成。 序列与表无关; 它们由应用程序使用。 依次有两个值– * CURRVAL –提供序列的当前值。 * NEXTVAL –提供序列的下一个值。 **语法** ``` CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>] ``` **语法元素** | **元素** | **说明** | | < sequence_name > | 它是序列的名称。 | | [< sequence_parameter_list >] | 它指定一个或多个序列参数。 | | 以<开头 start_value > | 它描述了起始序列值。 | | 由<递增[value] > | 这指定了在每次生成新序列值时从每次分配的最后一个值开始递增的值。 预设值为 1。 | | MAXVALUE < max_value > | 这指定了最大值,可以由序列生成。 < max_value >可以介于-4611686018427387903 和 4611686018427387902 之间。 | | 没有最大值 | 当指定 NO MAXVALUE 时,对于升序,最大值将为 4611686018427387903,而对于降序的最小值将为-1。 | | MINVALUE < min_value > / NO MINVALUE | 它指定序列可以生成的最小值。 < min_value >可以在-4611686018427387904 和 4611686018427387387902 之间。使用 NO MINVALUE 时,升序的最小值为 1 | | 周期 | CYCLE 指令指定序列号达到最大值或最小值后将重新启动。 | | 没有循环 | 默认选项.NO CYCLE 指令指定序列号达到最大值或最小值后将不会重新启动。 | | CACHE < cache_size > / | 缓存大小指定将在节点中缓存的序列号范围。 < cache_size >必须为无符号整数。 | | 不要抓 | 默认选项。 NO CACHE 指令指定不会在节点中缓存序列号。 | | RESET BY <子查询> | 它指定在数据库重新启动期间,数据库自动执行<子查询>,并使用返回的值重新启动序列值。 | **示例–** 我们将创建一个名为 DHK_SCHEMA.EMP_NO 的序列,当使用该序列时,每次创建该序列的值将增加+1。 序列脚本- ``` CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1\. ``` 在下面的示例中,这里我们将使用对象“序列”在每次执行选择查询时将 employee no 的值增加+1。 在查询中,“ nextval”可用于序列号生成或相同类型的需求。 **序列的使用–** ``` SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY; ``` 输出– 100,101,102………因此,每次执行上述选择查询时。