2.5 IS_ROLE_REMOVED_FROM_USERファンクション
このファンクションは、ロールがユーザーから削除されているかどうかを確認します。ユーザーの新しいロールIDのリストから特定のロールが削除されている場合、このファンクションはTRUEを返します。
構文
APEX_ACL.IS_ROLE_REMOVED_FROM_USER (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_user_name IN VARCHAR2,
p_role_static_id IN VARCHAR2,
p_role_ids IN apex_t_number )
RETURN BOOLEAN;パラメータ
表2-5 IS_ROLE_REMOVED_FROM_USERのパラメータ
| パラメータ | 説明 |
|---|---|
p_application_id |
ユーザーのロール・リストから特定のロールが削除されているかどうかを確認するためのアプリケーションID。デフォルトは、現在のアプリケーションです。 |
p_user_name |
確認するアプリケーション・ユーザーの大/小文字を区別しない名前。 |
p_role_static_id |
削除されているかどうかを確認するロールの静的IDの名前(大/小文字の区別なし)。 |
p_role_ids |
ユーザーに割り当てられているNUMBER型の新しいロールIDの配列。 |
例
次の例では、IS_ROLE_REMOVED_FROM_USERファンクションを使用して、ADMINISTRATORのロール静的IDが、アプリケーション255のユーザー名SCOTTの新しいロールID 2505704029884282および345029884282から削除されているかどうかを確認します。
DECLARE
is_role_removed boolean := false;
BEGIN
is_role_removed := apex_acl.is_role_removed_from_user (
p_application_id => 255,
p_user_name => 'SCOTT',
p_role_static_id => 'ADMINISTRATOR',
p_role_ids => apex_t_number( 2505704029884282, 345029884282 ) );
IF NOT is_role_removed THEN
raise_application_error(-20001, 'ADMINISTRATOR role is not removed from SCOTT.' );
END IF;
END;親トピック: APEX_ACL