ALTER SEQUENCE

既存のシーケンスのプロパティを変更します。

こちらもご参照ください。

CREATE SEQUENCEDROP SEQUENCESHOW SEQUENCESDESCRIBE 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
  [ { ORDER | NOORDER } ]
  [ COMMENT = '<string_literal>' ]
Copy

パラメーター

name

変更するシーケンスの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

識別子の詳細については、 識別子の要件 をご参照ください。

RENAME TO new_name

シーケンスの新しい識別子を指定します。スキーマに対して一意である必要があります。

識別子の詳細については、 識別子の要件 をご参照ください。

オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ db_name.schema_name.object_name または schema_name.object_name の形式で含む、修飾された new_name 値を指定します。

注釈

  • 宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。

  • オブジェクトをマネージドアクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。

オブジェクトの名前を変更すると、そのオブジェクトを参照する他のオブジェクトも新しい名前で更新する必要があります。

SET...

シーケンスに設定するプロパティを指定します。

[ INCREMENT [ BY ] sequence_interval ]

シーケンスのステップ間隔を指定します。

  • シーケンス間隔 n が正の場合、次の n-1 値は各シーケンス呼び出しによって予約されます。

  • シーケンス間隔 -n が負の場合、次に低い n-1 値が各シーケンス呼び出しによって予約されます。

サポートされる値は、64ビットの2の補数整数で表すことができるゼロ以外の値です。

{ ORDER | NOORDER }

シーケンスのために生成される値を 昇順 に生成するかどうかを指定します。

  • ORDER は、シーケンスまたは自動増分列に対して生成される値が、昇順(または、間隔が負の値の場合は降順)であることを指定します。

    たとえば、シーケンスまたは自動増分の列に START 1 INCREMENT 2がある場合、生成される値は 13579 などです。

  • NOORDER は、値が昇順であることが保証されないことを指定します。

    たとえば、シーケンスに START 1 INCREMENT 2がある場合、生成される値は 131015103 などです。

    NOORDER は、複数の挿入操作を同時に実行する必要がある場合(例: 複数のクライアントが複数の INSERT ステートメントを実行する場合)に、パフォーマンスを向上させることができます。

注釈

シーケンスが NOORDER に設定されている場合は、シーケンスを ORDER に変更することはできません。

COMMENT = 'string_literal'

シーケンスのコメントを追加するか、既存のコメントを上書きします。

使用上の注意

  • シーケンスの作成後には、シーケンスの最初/初期値は変更できません。

  • メタデータについて、

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

シーケンスの名前を myseq から newseq に変更します。

ALTER SEQUENCE myseq RENAME TO newseq;
Copy