メインコンテンツへスキップ
メインコンテンツへスキップ

CHECK GRANT ステートメント

CHECK GRANT クエリは、現在のユーザーまたはロールに特定の権限が付与されているかどうかを確認するために使用します。

構文

クエリの基本構文は以下のとおりです。

CHECK GRANT 権限[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*}
  • privilege — 権限のタイプ。

ユーザーにその権限が付与されている場合、レスポンスの check_grant1 になります。付与されていない場合、レスポンスの check_grant0 になります。

table_1.col1 が存在し、かつ現在のユーザーに SELECT / SELECT(con) の権限、またはその権限を持つロールが付与されている場合、レスポンスは 1 になります。

CHECK GRANT SELECT(col1) ON table_1;
┌─result─┐
│      1 │
└────────┘

table_2.col2 が存在しない場合、または現在のユーザーに SELECT / SELECT(con) 権限、もしくはその権限を持つロールが付与されていない場合、レスポンスは 0 になります。

CHECK GRANT SELECT(col2) ON table_2;
┌─result─┐
│      0 │
└────────┘

ワイルドカード

権限を指定する際には、テーブル名やデータベース名の代わりにアスタリスク(*)を使用できます。ワイルドカードのルールについては WILDCARD GRANTS を参照してください。