Oracle APEX中的自定义身份验证

时间:2018-10-22 07:42:16

标签: oracle function authentication oracle-apex

我使用以下表格创建了一个自定义身份验证方案:

table of users

和此功能

 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错误发生在第24行第23列:PLS-00306:错误的数字或   调用“ AUTHENTICATE” PL / SQL的参数类型:语句被忽略

1 个答案:

答案 0 :(得分:1)

身份验证功能可以具有任何名称,但是它必须具有两个参数,其中必须具有以下名称:

  • p_username
  • p_password

您不能以任何想要的方式为它们命名。所以-按照该指示进行操作就可以了。