Пользовательская аутентификация в Oracle APEX - PullRequest
0 голосов
/ 22 октября 2018

Я создал собственную схему аутентификации с таблицей ниже:

таблица пользователей

и эта функция

 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 голосов
/ 22 октября 2018

Функция аутентификации может иметь любое имя, но она ДОЛЖНА иметь два параметра, которые ДОЛЖНЫ имеют следующие имена:

  • p_username
  • p_password

Вы не можете назвать их так, как хотите .Итак - следуйте этой инструкции, и все должно быть в порядке.

...