MariaDBでは、CURRENT_ROLE()
現在のロール名を返す組み込み関数です。現在の役割によってアクセス権が決まります。
SELECT CURRENT_ROLE
の出力 information_schema.ENABLED_ROLES
の内容と同等です テーブル。
構文
関数は、括弧の有無にかかわらず呼び出すことができます:
CURRENT_ROLE
CURRENT_ROLE()
引数は必要ありません。
例
デモンストレーションの例を次に示します。
SELECT CURRENT_ROLE();
結果:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
私の場合、現在の役割がないため、NULL
返されます。
現在の役割を追加しましょう:
SET ROLE analyst;
そしてもう一度実行します:
SELECT CURRENT_ROLE();
結果:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
これで、追加した役割が現在の役割になります。
この例では、役割が以前に作成されていることを前提としています。
括弧なし
前述のように、CURRENT_ROLE()
関数は、括弧付きまたは括弧なしで呼び出すことができます。
括弧なしの例を次に示します。
SELECT CURRENT_ROLE;
結果:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
引数は受け入れられません
CURRENT_ROLE()
に引数を渡す エラーが発生します:
SELECT CURRENT_ROLE(1);
結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1)' at line 1