59.27 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');
パラメータ
パラメータ | 説明 |
---|---|
p_user_id |
ユーザー・アカウントの数値の主キー |
p_user_name |
ログインに使用する英数字の名前 「SET_USERNAMEプロシージャ」も参照してください |
p_first_name |
情報。 「SET_FIRST_NAMEプロシージャ」も参照してください |
p_last_name |
情報。 「SET_LAST_NAMEプロシージャ」も参照してください |
p_web_password |
クリア・テキストのパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、p_web_password およびp_new_password の両方の値がNULLでなく、同一である必要があります。
|
p_new_password |
クリア・テキストの新しいパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、p_web_password およびp_new_password の両方の値がNULLでなく、同一である必要があります。
|
p_email_address |
情報。 「SET_EMAILプロシージャ」も参照してください |
p_start_date |
未使用。 |
p_end_date |
未使用。 |
p_employee_id |
未使用。 |
p_allow_access_to_schemas |
ユーザーのワークスペースに割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
p_person_type |
未使用。 |
p_default_schema |
ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。 |
p_group_ids |
コロンで区切られた数値のグループIDのリスト |
p_developer_roles |
コロンで区切られた開発者権限のリスト。このパラメータで使用可能な値は、次のとおりです。
ノート: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。 「GET_USER_ROLESファンクション」も参照してください |
p_description |
情報。 |
p_account_expiry |
パスワードが最後に更新された日。 |
p_account_locked |
アカウントがロックされているかどうかを示す'Y'または'N'。 |
p_failed_access_attempts |
ログインに連続して失敗した回数。 |
p_change_password_on_first_use |
パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。 |
p_first_password_use_occurred |
パスワードの変更後にログインが行われたかどうかを示す'Y'または'N'。 「PASSWORD_FIRST_USE_OCCURREDファンクション」も参照してください |
例
次の例に、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;
親トピック: APEX_UTIL