私はオラクルパッケージに非常に慣れていないので、なぜこれがコンパイル/実行されないのか誰かが説明できるかどうか疑問に思っていました。
CREATE OR REPLACE PACKAGE login_pkg IS
FUNCTION login_ck_pf
(p_user IN VARCHAR2,
p_pass IN VARCHAR2)
RETURN CHAR;
END;
/
CREATE OR REPLACE PACKAGE BODY login_pkg IS
FUNCTION login_ck_pf
(p_user IN VARCHAR2,
p_pass IN VARCHAR2)
RETURN CHAR
IS
lv_ck_txt CHAR(1) := 'N';
lv_id_num NUMBER(5);
BEGIN
SELECT idShopper
INTO lv_id_num
FROM bb_shopper
WHERE username = p_user
AND password = p_pass;
IF SQL%FOUND THEN
lv_ck_txt := 'Y';
lv_id_num := lv_id_num;
END IF;
RETURN lv_ck_txt;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Invalid Login');
lv_ck_txt := 'N';
return lv_ck_txt;
END;
END;
/
show errors;
execute login_pkg.login_ck_pf('gma1', 'goofy');
これまでのご協力に感謝します。今はコンパイルしています。呼び出し方を理解する必要があります。行が見つかった場合はYを返し、見つからない場合はNを返します。
PACKAGE login_pkg compiled
PACKAGE BODY login_pkg compiled
No Errors.
Error starting at line 35 in command:
execute login_pkg.login_ck_pf('gma1', 'goofy')
Error report:
ORA-06550: line 1, column 7:
PLS-00221: 'LOGIN_CK_PF' is not a procedure or is undefined
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action: