■ はじめに
小ネタ。 Snowflake の SEQUENCE について扱う
目次
【1】SEQUENCE 【2】SQL文 1)CREATE 文 2)SHOW 文 3)ALTER 文 【3】使用上の注意 1)シーケンス作成後、初期値変更不可 2)連続した値は保証されない 3)作成後に初期値は変更できない
【1】SEQUENCE
* DB でいうと オートインクリメント(自動採番) の機能 => パフォーマンス的にも高速に使用できる => ただし、とび番になる。(「【3】使用上の注意」参照) => とび番になっても問題ないようであれば、 十分に桁数も設けてあれば使用上問題なさげ
https://docs.snowflake.com/ja/user-guide/querying-sequences
【2】SQL文
1)CREATE文
https://docs.snowflake.com/ja/sql-reference/sql/create-sequence
-- SEQUENCE 作成 CREATE OR REPLACE SEQUENCE seq_01 START = 1 INCREMENT = 1; -- 使い方(<seq_name>.NEXTVAL) SELECT seq_01.nextval;
2)SHOW 文
https://docs.snowflake.com/ja/sql-reference/sql/show-sequences
-- 構文 SHOW SEQUENCES [ LIKE '<pattern>' ] ... -- 使い方 SHOW SEQUENCES;
3)ALTER 文
https://docs.snowflake.com/ja/sql-reference/sql/alter-sequence
ALTER SEQUENCE [ IF EXISTS ] <name> RENAME TO <new_name> ALTER SEQUENCE [ IF EXISTS ] <name> [ SET ] [ INCREMENT [ BY ] [ = ] <sequence_interval> ] ALTER SEQUENCE [ IF EXISTS ] <name> SET COMMENT = '<string_literal>' ALTER SEQUENCE [ IF EXISTS ] <name> UNSET COMMENT -- 初期値の変更はできない(「【3】使用上の注意」の3)参照)
【3】使用上の注意
https://docs.snowflake.com/ja/sql-reference/sql/create-sequence#usage-notes
1)シーケンス作成後、初期値変更不可
シーケンスの作成後には、シーケンスの最初/初期値は変更できない
2)連続した値は保証されない
生成された数値は一貫して値が増加するが、 必ずしも連続しているとは限りない。
例
1 2 4 <- 3 がなく、4 5 6
3)作成後に初期値は変更できない
https://docs.snowflake.com/ja/sql-reference/sql/alter-sequence#usage-notes
より抜粋 ~~~~~~~~~~~~~~~ シーケンスの作成後には、 シーケンスの最初/初期値は変更できません。 ~~~~~~~~~~~~~~~ => ALTER でも変更できない
関連記事
Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world ~
https://dk521123.hatenablog.com/entry/2021/11/22/212520