我使用下表创建了一个自定义身份验证方案:
还有这个函数
FUNCTION authenticate(username_in IN VARCHAR2,password_in IN VARCHAR2) RETURN BOOLEAN IS
l_value NUMBER;
l_returnvalue BOOLEAN;
BEGIN
BEGIN
SELECT 1
INTO l_value
FROM USERS
WHERE 1 = 1
AND upper(users.USERNAME) = upper(username_in)
AND upper(users.PASSWORD) = upper(password_in);
EXCEPTION
WHEN no_data_found
OR too_many_rows THEN
l_value := 0;
WHEN OTHERS THEN
l_value := 0;
END;
l_returnvalue := l_value = 1;
RETURN l_returnvalue;
END;
当我尝试登录时,出现此错误:
1 error has occurred line 24, column 23: PLS-00306: wrong number or types of arguments in call to 'AUTHENTICATE' PL/SQL: Statement ignored
最佳答案
身份验证函数可以具有任何名称,但它必须有两个参数必须具有以下名称:
- p_用户名
- p_密码
您不能以任何您想要的方式命名它们。所以 - 按照该说明操作应该没问题。
关于oracle - Oracle APEX 中的自定义身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924472/