エラーチェックを有効にしてからエラーを発生させることで、これを行うことができます。
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.
WHENEVER
で コマンド、SUCCESS
キーワードは、SQLPlusが成功コードを呼び出し元のシェルに返すことを意味します。 FAILURE
を使用することもできます 一般的な障害コードを返すか、特定の値を返す他のオプションを返します。