2.4 HAS_USER_ROLEファンクション

このファンクションは、ユーザーが指定されたロールに割り当てられている場合にはTRUEを返します。

構文

APEX_ACL.HAS_USER_ROLE (
    p_application_id IN NUMBER   DEFAULT apex_application.g_flow_id,
    p_user_name      IN VARCHAR2 DEFAULT apex_application.g_user,
    p_role_static_id IN VARCHAR2 )
    RETURN BOOLEAN;

パラメータ

パラメータ 説明
p_application_id ユーザーが特定のロールに割り当てられているかどうかを確認するアプリケーションID。デフォルトは、現在のアプリケーションです。
p_user_name 確認するアプリケーション・ユーザーの大/小文字を区別しない名前。デフォルトでは、現在ログインしているユーザーに設定されます。
p_role_static_id ロール静的IDの大/小文字を区別しない名前。

次の例では、HAS_USER_ROLEファンクションを使用して、ユーザー名'SCOTT'がアプリケーション255'ADMINISTRATOR'のいずれかのロール静的IDに割り当てられているかどうかを確認します。

DECLARE
    l_is_admin boolean := false;
BEGIN
    l_is_admin := APEX_ACL.HAS_USER_ROLE (
                    p_application_id  => 255,
                    p_user_name       => 'SCOTT',
                    p_role_static_id  => 'ADMINISTRATOR' );

    IF not l_is_admin THEN
        raise_application_error(-20001, 'Scott is NOT an administrator' );
    END IF;
END;