ホーム > APEX_UTIL > EDIT_USERプロシージャ
![]() 前へ |
![]() 次へ |
このプロシージャを使用すると、ユーザー・アカウント・レコードを変更できます。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.EDIT_USER (
p_user_id IN NUMBER,
p_user_name IN VARCHAR2,
p_first_name IN VARCHAR2 DEFAULT NULL,
p_last_name IN VARCHAR2 DEFAULT NULL,
p_web_password IN VARCHAR2 DEFAULT NULL,
p_new_password IN VARCHAR2 DEFAULT NULL,
p_email_address IN VARCHAR2 DEFAULT NULL,
p_start_date IN VARCHAR2 DEFAULT NULL,
p_end_date IN VARCHAR2 DEFAULT NULL,
p_employee_id IN VARCHAR2 DEFAULT NULL,
p_allow_access_to_schemas IN VARCHAR2 DEFAULT NULL,
p_person_type IN VARCHAR2 DEFAULT NULL,
p_default_schema IN VARCHAR2 DEFAULT NULL,
p_group_ids IN VARCHAR2 DEFAULT NULL,
p_developer_roles IN VARCHAR2 DEFAULT NULL,
p_description IN VARCHAR2 DEFAULT NULL,
p_account_expiry IN DATE DEFAULT NULL,
p_account_locked IN VARCHAR2 DEFAULT 'N',
p_failed_access_attempts IN NUMBER DEFAULT 0,
p_change_password_on_first_use IN VARCHAR2 DEFAULT 'Y',
p_first_password_use_occurred IN VARCHAR2 DEFAULT 'N');
パラメータ
表「EDIT_USERパラメータ」に、EDIT_USERプロシージャで使用可能なパラメータを示します。
EDIT_USERパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ユーザー・アカウントの数値の主キー |
|
|
ログインに使用する英数字の名前 |
|
|
情報 |
|
|
情報 |
|
|
クリア・テキストのパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、 |
|
|
クリア・テキストの新しいパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、 |
|
|
情報 |
|
|
未使用 |
|
|
未使用 |
|
|
未使用 |
|
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
|
未使用 |
|
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
|
コロンで区切られた数値のグループIDのリスト |
|
|
コロンで区切られた開発者権限のリスト。このパラメータで使用可能な値は、次のとおりです。 null: ユーザーをエンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)に更新する場合 CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 開発者権限を持つようにユーザーを更新する場合 ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 作業領域管理者および開発者の完全な権限を持つようにユーザーを更新する場合 注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。 |
|
|
情報 |
|
|
パスワードが最後に更新された日。 参照: 「EXPIRE_END_USER_ACCOUNTプロシージャ」、「EXPIRE_WORKSPACE_ACCOUNTプロシージャ」、「UNEXPIRE_END_USER_ACCOUNTプロシージャ」、「UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ」 |
|
|
アカウントがロックされているかどうかを示す'Y'または'N'。 |
|
|
ログインに連続して失敗した回数。 |
|
|
パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。 |
|
|
パスワードの変更後にログインが行われたかどうかを示す'Y'または'N'。 |
例
次の例に、EDIT_USERプロシージャを使用してユーザー・アカウントを更新する方法を示します。この例で示すのは、EDIT_USERプロシージャを使用して、ユーザーFRANKを、開発者権限のみを持つユーザーから作業領域管理者権限および開発者権限を持つユーザーに変更する方法です。まず、FETCH_USERプロシージャをコールしてユーザーFRANKのアカウントの詳細をローカル変数に割り当てます。次に、これらのローカル変数をEDIT_USERへのコールに使用してアカウントの詳細を保存します。ただし、p_developer_rolesパラメータの値は除外されます。この値は'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL'に設定されます。
DECLARE
l_user_id NUMBER;
l_workspace VARCHAR2(255);
l_user_name VARCHAR2(100);
l_first_name VARCHAR2(255);
l_last_name VARCHAR2(255);
l_web_password VARCHAR2(255);
l_email_address VARCHAR2(240);
l_start_date DATE;
l_end_date DATE;
l_employee_id NUMBER(15,0);
l_allow_access_to_schemas VARCHAR2(4000);
l_person_type VARCHAR2(1);
l_default_schema VARCHAR2(30);
l_groups VARCHAR2(1000);
l_developer_role VARCHAR2(60);
l_description VARCHAR2(240);
l_account_expiry DATE;
l_account_locked VARCHAR2(1);
l_failed_access_attempts NUMBER;
l_change_password_on_first_use VARCHAR2(1);
l_first_password_use_occurred VARCHAR2(1);
BEGIN
l_user_id := APEX_UTIL.GET_USER_ID('FRANK');
APEX_UTIL.FETCH_USER(
p_user_id => l_user_id,
p_workspace => l_workspace,
p_user_name => l_user_name,
p_first_name => l_first_name,
p_last_name => l_last_name,
p_web_password => l_web_password,
p_email_address => l_email_address,
p_start_date => l_start_date,
p_end_date => l_end_date,
p_employee_id => l_employee_id,
p_allow_access_to_schemas => l_allow_access_to_schemas,
p_person_type => l_person_type,
p_default_schema => l_default_schema,
p_groups => l_groups,
p_developer_role => l_developer_role,
p_description => l_description,
p_account_expiry => l_account_expiry,
p_account_locked => l_account_locked,
p_failed_access_attempts => l_failed_access_attempts,
p_change_password_on_first_use => l_change_password_on_first_use,
p_first_password_use_occurred => l_first_password_use_occurred);
APEX_UTIL.EDIT_USER (
p_user_id => l_user_id,
p_user_name => l_user_name,
p_first_name => l_first_name,
p_last_name => l_last_name,
p_web_password => l_web_password,
p_new_password => l_web_password,
p_email_address => l_email_address,
p_start_date => l_start_date,
p_end_date => l_end_date,
p_employee_id => l_employee_id,
p_allow_access_to_schemas => l_allow_access_to_schemas,
p_person_type => l_person_type,
p_default_schema => l_default_schema,
p_group_ids => l_groups,
p_developer_roles => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
p_description => l_description,
p_account_expiry => l_account_expiry,
p_account_locked => l_account_locked,
p_failed_access_attempts => l_failed_access_attempts,
p_change_password_on_first_use => l_change_password_on_first_use,
p_first_password_use_occurred => l_first_password_use_occurred);
END;