첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
CREATE OR REPLACE PROCEDURE CheckAccount(P_ACCOUNT_ID IN ACCOUNTS.ID%TYPE)
IS
    V_BALANCE_BELOW_MINIMUM EXCEPTION;
    V_ACCOUNT_NAME          ACCOUNTS.ACCOUNT_NAME%TYPE;
    V_BALANCE_REMAINING     NUMBER;
BEGIN
    SELECT ACCOUNT_NAME INTO V_ACCOUNT_NAME
    FROM   ACCOUNTS
    WHERE  ACCOUNT_ID = P_ACCOUNT_ID;

    V_BALANCE_REMAINING := GetAccountBalance(P_ACCOUNT_ID);

    DBMS_OUTPUT.PUT_LINE(V_ACCOUNT_NAME || '의 계좌 잔액은 ' || V_BALANCE_REMAINING || '원 입니다.');

    IF V_BALANCE_REMAINING < 1000
    THEN
        RAISE V_BALANCE_BELOW_MINIMUM;
    END IF;

EXCEPTION
    WHEN NO_DATA_FOUND
    THEN
        DBMS_OUTPUT.PUT_LINE(P_ACCOUNT_ID || ' 계정 ID에 해당하는 계정이 없습니다.');

    WHEN V_BALANCE_BELOW_MINIMUM
    THEN
        DBMS_OUTPUT.PUT_LINE(V_ACCOUNT_NAME || '의 계좌 잔액이 1,000원보다 적습니다.');

        RAISE;
END;
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요