顧客のアカウントが停止されているかどうかを確認するトリガーを作成しました。はいの場合、彼は新しいアカウントを作成できませんが、私が挿入しようとすると、挿入は引き続き行われます。これで私を助けることができますか?
CREATE OR REPLACE TRIGGER SuspendedAccount
BEFORE INSERT ON ACCOUNT
FOR EACH ROW
DECLARE
varIsProblemAccount Int;
BEGIN
SELECT COUNT(*) INTO varIsProblemAccount
FROM ACCOUNT
WHERE CUSTID = :new.custID
AND ACCSTATUS = 'Suspended';
IF (varIsProblemAccount >= 1) THEN
DBMS_OUTPUT.PUT_LINE('*************************************************');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE(' Transaction canceled. ');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE(' Refer customer to the manager immediately. ');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE('**************************************************');
RETURN;
END;
ELSIF (varIsProblemAccount = 0) THEN
BEGIN
DBMS_OUTPUT.PUT_LINE('*************************************************');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE(' Transaction completed. ');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE(' Thank the customer for their business. ');
DBMS_OUTPUT.PUT_LINE('');
DBMS_OUTPUT.PUT_LINE('**************************************************');
END;
END IF;
END;
申し訳ありませんが、「NULL」になることはできないため、0に変更しようとしましたが、それでも機能しません