yeony._.
πŸ’μ½©λΆ€πŸ’
yeony._.
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (99)
    • πŸ’»Programming (91)
      • β˜•οΈJava (19)
      • πŸ’½Oracle (21)
      • πŸ‘©‍🎨HTML&CSS (12)
      • 🎨 μ‹€μŠ΅ (4)
      • πŸƒ‍♀️JavaScript (25)
      • JSP (8)
      • πŸƒSpring (0)
      • πŸ₯§python (0)
      • API (0)
      • 😈Git (1)
    • 🀫Private (0)
      • -- (0)
      • + (0)
      • S (0)
      • P (0)
      • B (0)
    • 😎Project (4)
      • πŸ—“οΈwbs ν”„λ‘œμ νŠΈ (3)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • HTML #CSS #HTML이미지 #HTML이미지에글씨 #HTML이미지에이미지

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
yeony._.

πŸ’μ½©λΆ€πŸ’

[PL/SQL] μ˜ˆμ™Έ(Exception) 처리
πŸ’»Programming/πŸ’½Oracle

[PL/SQL] μ˜ˆμ™Έ(Exception) 처리

2022. 8. 18. 08:57

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
    'πŸ’»Programming/πŸ’½Oracle' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • 데이터 λͺ¨λΈλ§ 및 섀계
    • [PL/SQL] 인덱슀
    • [PL/SQL] μ»€μ„œ(Cursor)
    • [PL/SQL] μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜
    yeony._.
    yeony._.
    힘 μ„Έμ§€λŠ” μ•Œμ•½πŸ’ŠπŸ’ŠπŸ’Š

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”