1
DECLARE
H EMP.EMPNO%TYPE;
F EMP.ENAME%TYPE;
D NUMBER;
S VARCHAR(20);
BEGIN
H := :ENTER_A_DEPTNO;
SELECT ENAME, EMPNO INTO F , D
FROM EMP
WHERE EMPNO = H;
CASE
WHEN D = H THEN
S := F;
WHEN D != H THEN
S := ' NO DATA !!';
END CASE;
DBMS_OUTPUT.PUT_LINE(S);
END;
テーブルから番号IDを入力すると、2番目のif文では機能しません。メッセージを表示する方法が不思議です。 if
またはcase
のための必要はありませんUSING IF文はCASE in P/L SQL内にありますか?
DECLARE
H EMP.EMPNO%TYPE;
F EMP.ENAME%TYPE;
BEGIN
H := :ENTER_A_DEPTNO;
SELECT ENAME INTO F
FROM EMP
WHERE EMPNO = H;
DBMS_OUTPUT.PUT_LINE(F);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(' NO DATA !!');
END;
、値が見つかったときので、あなたは結果が正しい従業員番号に関することを確認することができます:
ORA-01403: no data found
ようこそStackOverflow。良いフォーマットの質問!ただ一つのこと:あなたは「IF」を話しますが、コードには単一の「IF」はありません。 – trincot