Всем привет. Сделал авторизацию на сайте apex.oracle.com, вот её код:
FUNCTION check_authen (p_username in VARCHAR2, p_password in NVARCHAR2)
RETURN BOOLEAN
AS
x NUMBER := 0;
BEGIN
SELECT 1 INTO x
FROM system_user JOIN user_password
ON system_user.user_id = user_password.user_id
JOIN user_adm_level
ON system_user.user_id = user_adm_level.user_id
JOIN admin_level
ON admin_level.adm_level_id = user_adm_level.adm_level_id
WHERE UPPER(system_user.user_login) = UPPER(p_username)
AND user_password.password = p_password
AND admin_level.adm_level_id = :P9999_STATUS
AND system_user.is_activated = '1';
SELECT :P9999_STATUS INTO :p_admin_level
FROM dual;
RETURN TRUE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN FALSE;
END check_authen;
Мне нужно сделать так, чтобы когда пользователь авторизуется ему в личном кабинете выводился логин. Вывести логин у меня получилось, но только неправильно. Запрос берет первую строчку с таблицы, не пойму как привязать её к конкретному пользователю. Вот мой sql запрос:
SELECT system_user.USER_LOGIN
FROM system_user JOIN user_adm_level
ON system_user.user_id = user_adm_level.user_id
AND user_adm_level.adm_level_id = :p_admin_level;
На выводе получаю первый логин из моей таблицы. Подскажите, что делаю не так и как это исправить?