DROP SEQUENCE¶
从当前/指定的架构中移除序列。
语法¶
DROP SEQUENCE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
参数¶
name
指定要删除的序列的标识符。
如果序列标识符不是完全限定的(以
db_name.schema_name.sequence_name
或schema_name.sequence_name
的形式),则该命令将在会话的当前架构中查找序列。CASCADE | RESTRICT
Snowflake 在语法上允许使用关键字
CASCADE
和RESTRICT
,但不会对它们进行操作。例如,删除带有CASCADE
关键字的序列实际上不会删除使用该序列的表。如果表仍在使用该序列,则删除带有RESTRICT
关键字的序列不会发出警告。
使用说明¶
若要删除序列,必须使用对序列具有所有权权限的角色。
删除序列后,创建同名序列将创建序列的新版本。新序列不会在旧序列中断的地方继续生成数字。
在删除序列之前,请验证 没有 表或其他数据库对象引用该序列。
如果在表的
DEFAULT
子句中引用了删除的序列,则对该表调用GET_DDL()
会导致错误,而不是在创建该表的 DDL 中导致错误。
示例¶
删除序列:
DROP SEQUENCE IF EXISTS invoice_sequence_number;