DROP SEQUENCE

从当前/指定的架构中移除序列。

另请参阅:

CREATE SEQUENCEALTER SEQUENCESHOW SEQUENCESDESCRIBE SEQUENCE

语法

DROP SEQUENCE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Copy

参数

name

指定要删除的序列的标识符。

如果序列标识符不是完全限定的(以 db_name.schema_name.sequence_nameschema_name.sequence_name 的形式),则该命令将在会话的当前架构中查找序列。

CASCADE | RESTRICT

Snowflake 在语法上允许使用关键字 CASCADERESTRICT,但不会对它们进行操作。例如,删除带有 CASCADE 关键字的序列实际上不会删除使用该序列的表。如果表仍在使用该序列,则删除带有 RESTRICT 关键字的序列不会发出警告。

使用说明

  • 若要删除序列,必须使用对序列具有所有权权限的角色。

  • 删除序列后,创建同名序列将创建序列的新版本。新序列不会在旧序列中断的地方继续生成数字。

  • 在删除序列之前,请验证 没有 表或其他数据库对象引用该序列。

  • 如果在表的 DEFAULT 子句中引用了删除的序列,则对该表调用 GET_DDL() 会导致错误,而不是在创建该表的 DDL 中导致错误。

示例

删除序列:

DROP SEQUENCE IF EXISTS invoice_sequence_number;
Copy
语言: 中文