我想知道如何更改oracle apex中的用户密码。目前我正在尝试在用户存在且填写重置密码字段的过程中使用此pl / sql代码。
if APEX_UTIL.GET_USERNAME(p_userid => :P5_ID) IS NOT NULL AND :P5_WACHTWOORD IS NOT NULL
then
apex_util.edit_user(
p_user_id => &P5_ID.,
p_new_password => '&P5_WACHTWOORD.'
);
end if;
但是apex一直给我这个错误:PLS-00306: wrong number or types of arguments in call to 'EDIT_USER'.
我尝试在p_web_password
param中添加旧密码,需要这个顶点。我仍然有同样的错误。
只是因为我完全错了。我刚刚开始使用apex而我正在尝试使用默认身份验证,但我还想在我自己的数据库中存储有关同一用户的更多内容。
我决定使用我的数据库生成的userid
作为顶点userid
,这样我就可以跟踪哪个用户已登录。这是正确的方式还是有更好的选择?
答案 0 :(得分:3)
粗略地看一下API的文档,显示p_user_name也是必需的输入。
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,
...
http://docs.oracle.com/database/apex-5.1/AEAPI/EDIT_USER-Procedure.htm#AEAPI117
您是否有任何理由不使用绑定变量作为实际参数值?
p_user_id => :P5_ID