0
當我嘗試運行下面的函數代碼時,Oracle Apex 5 SQL命令出現此錯誤:'ORA-24344:成功並出現編譯錯誤'Oracle APEX 5創建函數錯誤,它可能是什麼?
我已經嘗試將它寫入所有大寫字母,但仍出現問題。你覺得我做錯了什麼?幫助將非常感激。
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;
嗨,謝謝。但是,更改變量的名稱不起作用,並且仍然會帶來相同的錯誤。我不確定完整的編譯錯誤,我剛剛得到了這個'PLS-00103:遇到符號'SELECT''和'PLS-00103:遇到符號'1'...'我修正了1雖然 –
你可以或者在開發工具中進行編譯,該工具突出顯示編譯錯誤,或者查詢user_errors(或者如果未作爲所有者連接,則爲all_errors)。順便提一下,有三個變量以'1_'開始(即數字'1')。也許你的意思是'l_'(字母'L')。 –
它還說'必須聲明'PLS-00201:標識符'DBMS_CRYPTO'' –