sql >> データベース >  >> RDS >> MariaDB

MariaDB CURRENT_ROLE()の説明

    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

    1. Oracle:最近のSQL構文エラーを取得する方法はありますか?

    2. Rails:Herokuへのデプロイ、多くの問題

    3. SQLServerログ配布とディザスタリカバリのインストールと構成-2

    4. Ubuntu18.04にPostgreSQLをインストールします