SQL-команды Oracle Apex 5 дают эту ошибку, когда я пытаюсь запустить приведенный ниже код функции: «ORA-24344: успех с ошибкой компиляции»Oracle APEX 5 Create Function ERROR, что это может быть?
Я пробовал писать его во всех шапках и все еще возникают проблемы. Как вы думаете, что я сделал не так? Помощь была бы действительно оценена.
CREATE OR REPLACE FUNCTION al_auth_authentication (p_username IN VARCHAR2, p_password IN VARCHAR2)
RETURN boolean
IS
1_user AL_USER_LOGIN.USER_NAME%type := UPPER(p_username);
1_pwd AL_USER_LOGIN.USER_PASSWORD%type;
1_id AL_USER_LOGIN.USER_ID%type;
BEGIN
SELECT USER_ID, USER_PASSWORD
INTO 1_id, 1_pwd
FROM AL_USER_LOGIN
WHERE UPPER(USER_NAME) = 1_user;
RETURN 1_pwd = dbms_crypto.hash (UTL_I18N.string_to_raw(p_password || 1_id || UPPER(p_username), 'AL32UTF8'), dbms_crypto.hash_sh1);
EXCEPTION
WHEN no_data_found then return false;
END al_auth_authentication;
Hi, спасибо. Однако изменение имени переменной не повлияло и по-прежнему вызывает ту же ошибку. Я не уверен в полной ошибке компиляции, я просто получил это «PLS-00103: встретил символ« SELECT »и PLS-00103: встретил символ« 1 »...« Я исправил 1, хотя –
Вы можете либо скомпилируйте его в инструменте разработки, который выделяет ошибки компиляции, либо запрашивает user_errors (или all_errors, если вы не подключены как владелец). btw есть три переменные, начинающиеся с '1_' (т. е. цифры« один »). Возможно, вы имели в виду 'l_' (буква« L »). –
В нем также говорится: «PLS-00201: идентификатор« DBMS_CRYPTO »должен быть объявлен« –