Můžete to udělat tak, že povolíte kontrolu chyb a poté vyvoláte chybu.
ACCEPT p_cname PROMPT 'Enter Customer Name: '
WHENEVER SQLERROR EXIT SUCCESS ROLLBACK;
DECLARE
v_count INTEGER;
BEGIN
SELECT COUNT(*) INTO v_count
FROM customer
WHERE cname = '&p_cname';
IF v_count > 0 THEN
raise_application_error( -20100, 'Customer already exists' );
END IF;
END;
/
-- Issue a new WHENEVER statement here if you want different error-handling for
-- the rest of the script
-- Other ACCEPT statements if a match was not found.
V WHENEVER
příkaz SUCCESS
klíčové slovo znamená, že SQLPlus vrátí úspěšný kód zpět do shellu, ze kterého byl vyvolán. Můžete také použít FAILURE
pro vrácení obecného kódu selhání nebo jiné možnosti pro vrácení konkrétních hodnot.