PL/SQLμμλ μλ°μ κ°μ΄ μμΈμ²λ¦¬λ₯Ό ν μ μλ€.
μμΈλ?
PL/SQL λΈλ‘μ΄ μ€νλλ λμμ λ°μλλ μλ¬λ₯Ό μμΈλΌ ν¨
μλ¬ μ’ λ₯
αμ»΄νμΌ μλ¬ : PL/SQL λΈλ‘μ΄ νμ±(Parsing)λ λ μ¬μ©μ μ€ν, ꡬ문 μ€λ₯ λ±μΌλ‘ μΈν΄ λ°μλλ μλ¬
αλ°νμ μλ¬ : PL/SQL λΈλ‘μ΄ μ€νλλ λμ λ°μνλ μλ¬λ‘ μΌλ°μ μΌλ‘ λ°νμμλ¬λ₯Ό Exception
미리 μ μλ μμΈ
μ¬μ©μ μ μ μμΈ
μ¬μ©μκ° μ§μ μμΈλ₯Ό μ μνκ³ μ²λ¦¬ν λ‘μ§μ μμ±
DECLARE
-- μμΈμ μΈ
-- μμΈ μ΄λ¦ EXCEPTION;
BEGIN
-- μμΈ λ°μ
-- RAISE μμΈ μ΄λ¦;
EXCEPTION
WHEN μμΈ1(μ¬μ μ μλ μ€λ₯ λλ μ¬μ©μ μ μ μ€λ₯) THEN
STATEMENT1 ...
WHEN μμΈ2(μ¬μ μ μλ μ€λ₯ λλ μ¬μ©μ μ μ μ€λ₯) THEN
STATEMENT2 ...
WHEN OTHERS THEN
STATEMENT3 ...
END;
1 μμΈμ μ
μ¬μ©μ μ μ μμΈλ μ μΈλΆμμ λ€μμ νμμΌλ‘ μμΈλ₯Ό μ μ
exception_name EXCEPTION;
2 μμΈ λ°μ
μμ€ν μμΈλ μλμΌλ‘ λ°μλμ§λ§ μ¬μ©μ μ μ μμΈλ 쑰건μ λ°λΌ λ€μ νμμΌλ‘ μμΈλ₯Ό λ°μ
RAISE exception_name;
3 λ°μλ μμΈ μ²λ¦¬
λ°μλ μμΈλ EXCEPTION μ μμ μ²λ¦¬
EXCEPTION WHEN exception_name THEN ...;
RAISE νλ‘μμ
αμ¬μ©μ μ μ μμΈλ₯Ό λ°μνκ±°λ 미리 μ μλ μμΈλ₯Ό λ°μμν¬ μ μλ€.
RAISE exception_name;
RAISE_APPLICATION_ERROR νλ‘μμ
αμμ€ν ν¨ν€μ§μ ν¬ν¨λ νλ‘μμ λ‘ μ¬μ©μ μ μ μμΈλ§ λ°μμν¬ μ μλ€.
RAISE_APPLICATION_ERROR(error_number, error_message);
RAISE_APPLICATION_ERROR(error_number, error_message, keep_errors);
βοΈ-20999~-20000 μ¬μ΄μ μ μ¬μ©νλ€.
βοΈ error_message : μΆλ ₯ν λ©μμ§
'π»Programming > π½Oracle' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°μ΄ν° λͺ¨λΈλ§ λ° μ€κ³ (0) | 2022.08.19 |
---|---|
[PL/SQL] μΈλ±μ€ (0) | 2022.08.18 |
[PL/SQL] 컀μ(Cursor) (0) | 2022.08.18 |
[PL/SQL] μ¬μ©μ μ μ ν¨μ (0) | 2022.08.18 |
[PL/SQL] νλ‘μμ (0) | 2022.08.17 |