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'' –