SHOW SEMANTIC FACTS¶
アクセス権限がある:doc:セマンティックビュー </user-guide/views-semantic/overview> のファクトをリストします。
このコマンドを使用して、セッションの現在のデータベースとスキーマ、指定したデータベースまたはスキーマ、またはアカウント全体のオブジェクトをリストします。
出力には、各オブジェクトのメタデータとプロパティが含まれます。オブジェクトは、データベース、スキーマ、オブジェクト名で辞書順にソートされます(出力列の説明については、このトピックの Output をご参照ください)。結果をフィルターする場合は、結果の行の順序に注意することが重要です。
- こちらもご参照ください。
CREATE SEMANTIC VIEW、 ALTER SEMANTIC VIEW、 DESCRIBE SEMANTIC VIEW、 DROP SEMANTIC VIEW、 SHOW SEMANTIC VIEWS、 SHOW SEMANTIC DIMENSIONS、 SHOW SEMANTIC DIMENSIONS FOR METRIC、 SHOW SEMANTIC METRICS
構文¶
SHOW SEMANTIC FACTS [ LIKE '<pattern>' ]
[ IN
{
<semantic_view_name> |
ACCOUNT |
DATABASE |
DATABASE <db_name> |
SCHEMA |
SCHEMA <db_name>.<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
パラメーター¶
LIKE 'pattern'オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字(
%および_)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。たとえば、次のパターンは 同じ 結果を返します。
... LIKE '%testing%' ...... LIKE '%TESTING%' .... デフォルト: 値なし(フィルタリングは出力に非適用)。
[ IN ... ]オプションで、コマンドのスコープを指定します。次のいずれかを指定します。
semantic_view_name指定されたセマンティックビューの記録を返します。
ACCOUNTアカウント全体の記録を返します。
DATABASE、 .DATABASE db_name現在使用中のデータベースまたは指定されたデータベース(
db_name)の記録を返します。db_nameなしでDATABASEを指定し、かつデータベースが使用されていない場合、キーワードは出力に影響しません。SCHEMA、.SCHEMA db_name.schema_name現在使用中のスキーマまたは指定されたスキーマ(
db_name.schema_name)の記録を返します。スキーマの完全修飾名を指定する必要があります。データベースが使用されていない場合は、
SCHEMAを指定しても出力には影響しません。
IN ...を省略した場合、コマンドのスコープは、セッションで現在使用中のデータベースがあるかどうかによって異なります。If a database is currently in use, the command returns the objects you have privileges to view in the database. This has the same effect as specifying
IN DATABASE.If no database is currently in use, the command returns the objects you have privileges to view in your account. This has the same effect as specifying
IN ACCOUNT.
STARTS WITH 'name_string'オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します。
たとえば、次の文字列は 異なる 結果を返します。
... STARTS WITH 'B' ...... STARTS WITH 'b' .... デフォルト: 値なし(フィルターは出力に適用されない)
LIMIT rowsオプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。
デフォルト: 値なし(出力に制限は非適用)。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
|---|---|
|
シークレットを含むデータベースの名前。 |
|
シークレットを含むスキーマの名前。 |
|
ファクトを含むセマンティックビューの名前。 |
|
ファクトの論理テーブルの名前。 |
|
ファクトの名前。 |
|
ファクトのデータ型。 |
|
ファクトの代替名または同義語。 |
|
ファクトについてのコメント。 |
アクセス制御の要件¶
A role used to execute this operation must have the following privileges at a minimum:
権限 |
オブジェクト |
メモ |
|---|---|---|
指定なし |
セマンティックビュー |
|
REFERENCES または OWNERSHIP |
セマンティックビュー |
出力に プライベートファクト を含める場合は、これらの権限のいずれかが必要です。 |
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマについての権限を付与されたロールは、そのスキーマ名を解決できるようになります。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマについての権限を付与されたロールは、そのスキーマ名を解決できるようになります。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
コマンドは、コマンドを実行するために使用されるロールのアクセス権限によって決定された通り、指定されたオブジェクトタイプに対して 最大 1万件の記録を返します。1万件を超える記録は、フィルターを適用しても返されません。
1万件を超える記録が存在する結果を表示するには、 Snowflake Information Schema で対応するビュー(存在する場合)をクエリします。
LIMIT rowsの値は10000を超えることはできません。LIMIT rowsを省略した場合、結果セットが1万行を超えるとコマンドはエラーになります。1万件を超える記録が存在する結果を表示するには、
LIMIT rowsを含めるか、 Snowflake Information Schema の対応するビューをクエリします。
スキーマレベルのオブジェクトに対してコマンドの実行すると、現在のロールが親データベースとスキーマに対しても少なくとも1つの権限を持っている場合にのみオブジェクトが返されます。
例¶
次の例は、何らかの権限を持っているセマンティックビューのファクトをリストします。リストには、現在のデータベースの現在のスキーマにあるセマンティックビューのファクトが含まれています。
SHOW SEMANTIC FACTS;
+---------------+-------------+--------------------+------------+------------------------+--------------------+----------+-------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------+--------------------+------------+------------------------+--------------------+----------+-------------------------------|
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | CUSTOMER | C_CUSTOMER_ORDER_COUNT | NUMBER(18,0) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | LINEITEM | LINE_ITEM_ID | VARCHAR(134217728) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | NATION | N_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | ORDERS | COUNT_LINE_ITEMS | NUMBER(18,0) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | ORDERS | O_ORDERKEY | NUMBER(38,0) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_ANALYSIS | REGION | R_NAME | VARCHAR(25) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | LINE_ITEMS | DISCOUNTED_PRICE | NUMBER(25,4) | NULL | Extended price after discount |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | LINE_ITEMS | LINE_ITEM_ID | VARCHAR(134217728) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | COUNT_LINE_ITEMS | NUMBER(18,0) | NULL | NULL |
+---------------+-------------+--------------------+------------+------------------------+--------------------+----------+-------------------------------+
次の例は、現在のデータベースの現在のスキーマで tpch_rev_analysis という名前のセマンティックビューのファクトを一覧表示します。
SHOW SEMANTIC FACTS IN tpch_rev_analysis;
+---------------+-------------------+--------------------+------------+------------------+--------------------+----------+-------------------------------+
| database_name | schema_name | semantic_view_name | table_name | name | data_type | synonyms | comment |
|---------------+-------------------+--------------------+------------+------------------+--------------------+----------+-------------------------------|
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | LINE_ITEMS | DISCOUNTED_PRICE | NUMBER(25,4) | NULL | Extended price after discount |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | LINE_ITEMS | LINE_ITEM_ID | VARCHAR(134217728) | NULL | NULL |
| MY_DB | MY_SCHEMA | TPCH_REV_ANALYSIS | ORDERS | COUNT_LINE_ITEMS | NUMBER(18,0) | NULL | NULL |
+---------------+-------------------+--------------------+------------+------------------+--------------------+----------+-------------------------------+