ALTER MODEL¶
名前、タグ、デフォルトバージョン、コメントなど、既存のモデルのプロパティを変更します。
このコマンドには他に3つのバリエーションがあります。
- ALTER MODEL ...ADD VERSION は、モデルの新しいバージョンを追加します。 
- ALTER MODEL ... DROP VERSION は、モデルのバージョンを削除します。 
- ALTER MODEL ... MODIFY VERSION は、モデルバージョンのコメントまたはメタデータを設定します。 
構文¶
ALTER MODEL [ IF EXISTS ] <name> SET
  [ COMMENT = '<string_literal>' ]
  [ DEFAULT_VERSION = '<version_name>']
ALTER MODEL [ IF EXISTS ] <model_name> SET TAG <tag_name> = '<tag_value>'
ALTER MODEL [ IF EXISTS ] <model_name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_name> SET ALIAS = '<alias_name>'
ALTER MODEL [ IF EXISTS ] <model_name> VERSION <version_or_alias_name> UNSET ALIAS
ALTER MODEL <model_name> RENAME TO <new_name>
パラメーター¶
- name
- モデルの識別子(つまり名前)を指定します。 - 識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。 - 詳細については、 識別子の要件 をご参照ください。 
- SET ...
- 設定する1つ以上のモデルプロパティを指定します。 - COMMENT = 'string_literal'
- モデルのコメントを設定します。これは、 COMMENT コマンドを使用しても実行できます。 
- DEFAULT_VERSION = 'version_name'
- モデルのデフォルトバージョン(モデル上でメソッドを直接呼び出す際に呼び出されるメソッドのバージョン)を設定します。バージョン名は 識別子 です。 - システムエイリアス DEFAULT はデフォルトバージョンを指します。 
 - TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
- タグ の名前とタグ文字列の値を指定します。 - タグ値は常に文字列であり、タグ値の最大文字数は256です。 - ステートメントでのタグの指定に関する情報については、 オブジェクトのタグクォータ をご参照ください。 
 - ALIAS = 'alias_name'
- alias_nameをバージョンのエイリアスとして設定します。エイリアスは、簡単に再割り当てできる代替名です。エイリアスは、バージョン名を使用できる場合の大半で使用できます。バージョンは最大1つのエイリアスを持つことができます。- エイリアス名は 識別子 です。これはモデル内で一意でなければならず、システムエイリアス名と重複してはなりません。 - DEFAULTは、モデルのデフォルトバージョンを指します。
- FIRSTは、作成時間が最も古いモデルバージョンを指します。
- LASTは、作成時間が最新のモデルバージョンを指します。
 
 
- UNSET TAG tag_name [ , tag_name ... ]
- モデルで設定解除するタグを1つ以上指定します。 
- UNSET ALIAS
- このモデルのバージョンにエイリアスがある場合は、そのエイリアスを削除します。システムエイリアス DEFAULT、 FIRST、 LAST は削除できません。バージョンはその名前またはエイリアスで指定できます。 
- RENAME TO new_name
- 指定されたモデルの名前を、スキーマ内の他のモデルで現在使用されていない新しい識別子に変更します。 - 識別子の詳細については、 識別子の要件 をご参照ください。 - オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ - db_name.schema_name.object_nameまたは- schema_name.object_nameの形式で含む、修飾された- new_name値を指定します。- 注釈 - 宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。 
- オブジェクトを管理アクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。 
 - モデルの名前を変更すると、それを参照する他のオブジェクトも新しい名前で更新する必要があります。 
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
| 権限 | オブジェクト | 注意 | 
|---|---|---|
| OWNERSHIP | モデル | スキーマに既存のオブジェクトと同じ名前の仮オブジェクトを作成するには、ロールにオブジェクトの権限(OWNERSHIP)を付与するか継承する必要があります。 | 
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。