COMMENT¶
既存のオブジェクトのコメントを追加するか、既存のコメントを上書きします。
コメントはすべてのオブジェクト(ユーザー、ロール、ウェアハウス、データベース、テーブルなど)に追加できます。このコマンドを使用して、個々のテーブル列にコメントを追加することもできますが、列に対する制約には追加できません。
構文¶
COMMENT [ IF EXISTS ] ON <object_type> <object_name> IS '<string_literal>';
COMMENT [ IF EXISTS ] ON COLUMN <table_name>.<column_name> IS '<string_literal>';
パラメーター¶
ON object_type object_name
指定されたタイプ(例えば、
TABLE
、SCHEMA
、VIEW
など)のオブジェクトに、指定された識別子でコメントを追加します。識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
ON COLUMN table_name.column_name
指定したテーブル列にコメントを追加します。
識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
詳細については、 識別子の要件 をご参照ください。
IS string_literal
追加するコメントを指定します。
デフォルト:
NULL
使用上の注意¶
オブジェクトを作成または変更する際に、コメントを追加または変更することもできます。
コメントを追加するには、 CREATE <オブジェクト> または ALTER <オブジェクト> コマンドで
COMMENT
パラメーターを指定します。既存のコメントを修正するには、 ALTER <オブジェクト> コマンドで
COMMENT
パラメーターを指定します。
テーブルの列に対するコメントの追加や変更する場合、少し異なる構文が使用されます。
作成時にコメントを追加するには、列宣言の後に
COMMENT
キーワード(プロパティではありません)を続けます。コメントを変更するには、このコマンドを使用します。
制約にコメントを追加するには、 CREATE TABLE または CREATE | ALTER TABLE ... CONSTRAINT コマンドを使用します。
DESCRIBE TABLE の出力は、複数列主キーなどのテーブル制約に対するコメントを表示しません。これらのコメントを見るには、 TABLE_CONSTRAINTS ビュー をクエリします。
メタデータについて。
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
コメント付きのスキーマを作成してから、コメントを上書きします。
CREATE SCHEMA my_schema COMMENT='this is comment1';
SHOW SCHEMAS LIKE 'my_schema';
+-------------------------------+-----------+------------+------------+---------------+---------+------------------+---------+----------------+------+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | ... |
|-------------------------------+-----------+------------+------------+---------------+---------+------------------+---------+----------------+------|
| 2025-02-26 12:08:52.363 -0800 | MY_SCHEMA | N | Y | MY_DB | MY_ROLE | this is comment1 | | 1 | ... |
+-------------------------------+-----------+------------+------------+---------------+---------+------------------+---------+----------------+------+
COMMENT ON SCHEMA my_schema IS 'now comment2';
SHOW SCHEMAS LIKE 'my_schema';
+-------------------------------+-----------+------------+------------+---------------+---------+--------------+---------+----------------+-----+
| created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | ... |
|-------------------------------+-----------+------------+------------+---------------+---------+--------------+---------+----------------+-----+
| 2025-02-26 12:08:52.363 -0800 | MY_SCHEMA | N | Y | MY_DB | MY_ROLE | now comment2 | | 1 | ... |
+-------------------------------+-----------+------------+------------+---------------+---------+--------------+---------+----------------+-----+
テーブルの列にコメントを付けてテーブルを作成し、コメントを上書きします。
CREATE OR REPLACE TABLE test_comment_table_column(my_column STRING COMMENT 'this is comment3');
DESC TABLE test_comment_table_column;
+-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+------------------+-------------+----------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+------------------+-------------+----------------|
| MY_COLUMN | VARCHAR(16777216) | COLUMN | Y | NULL | N | N | NULL | NULL | this is comment3 | NULL | NULL |
+-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+------------------+-------------+----------------+
COMMENT ON COLUMN test_comment_table_column.my_column IS 'now comment4';
DESC TABLE test_comment_table_column;
+-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+--------------+-------------+----------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+--------------+-------------+----------------|
| MY_COLUMN | VARCHAR(16777216) | COLUMN | Y | NULL | N | N | NULL | NULL | now comment4 | NULL | NULL |
+-----------+-------------------+--------+-------+---------+-------------+------------+-------+------------+--------------+-------------+----------------+
コメント付きのビューを作成してから、コメントを上書きします。
CREATE OR REPLACE VIEW test_comment_view COMMENT='this is comment5' AS (SELECT * FROM test_comment_table_column);
SHOW VIEWS LIKE 'test_comment_view';
+-------------------------------+-------------------+----------+---------------+-------------+---------+------------------+-----+
| created_on | name | reserved | database_name | schema_name | owner | comment | ... |
|-------------------------------+-------------------+----------+---------------+-------------+---------+------------------+-----+
| 2025-02-26 12:38:35.440 -0800 | TEST_COMMENT_VIEW | | MY_DB | MY_SCHEMA | MY_ROLE | this is comment5 | ... |
+-------------------------------+-------------------+----------+---------------+-------------+---------+------------------+-----+
COMMENT ON VIEW test_comment_view IS 'now comment6';
SHOW VIEWS LIKE 'test_comment_view';
+-------------------------------+-------------------+----------+---------------+-------------+---------+--------------+-----+
| created_on | name | reserved | database_name | schema_name | owner | comment | ... |
|-------------------------------+-------------------+----------+---------------+-------------+---------+--------------+-----+
| 2025-02-26 12:38:35.440 -0800 | TEST_COMMENT_VIEW | | MY_DB | MY_SCHEMA | MY_ROLE | now comment6 | ... |
+-------------------------------+-------------------+----------+---------------+-------------+---------+--------------+-----+