πŸ“˜ [ 221124 ORACLE κ°œλ°œμΌμ§€ ]

rossiebiΒ·2022λ…„ 11μ›” 24일
0

πŸ’» JAVA κ°œλ°œμΌμ§€Β 

λͺ©λ‘ 보기
23/38
post-thumbnail

ν”„λ‘œμ‹œμ €(Procedure)

  • 넓은 μ˜λ―ΈλŠ” μ–΄λ–€ 업무λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ 절차
  • κ²°κ³Όκ°’ λ°˜ν™˜ 없이 νŠΉμ • λ‘œμ§μ„ 처리
  • ν…Œμ΄λΈ”μ—μ„œ 데이터 μΆ”μΆœ 및 μ‘°μž‘, κ²°κ³Όλ₯Ό λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μ €μž₯ν•˜κ±°λ‚˜ κ°±μ‹ 

ν”„λ‘œμ‹œμ € 문법

CREATE OR REPLACE PROCEDURE ν”„λ‘œμ‹œμ €μ΄λ¦„
( λ§€κ°œλ³€μˆ˜ 이름1 [ IN / OUT / IN OUT ] 데이터 νƒ€μž…, 
  λ§€κ°œλ³€μˆ˜ 이름2 [ IN / OUT / IN OUT ] 데이터 νƒ€μž…, )
IS / AS
	λ³€μˆ˜ 및 μƒμˆ˜ μ„ μ–Έ
BEGIN 
	μ‹€ν–‰ λ¬Έμž₯
    EXCEPTION λ¬Έμž₯
END;

ν”„λ‘œμ‹œμ € μ‹€ν–‰

EXECUTE ν”„λ‘œμ‹œμ € 이름();
EXEC ν”„λ‘œμ‹œμ € 이름();

IN / OUT λ§€κ°œλ³€μˆ˜

  • IN : μ‚¬μš©μžλ‘œλΆ€ν„° 값을 μž…λ ₯λ°›μ•„ ν”„λ‘œμ‹œμ €λ‘œ μ „λ‹¬ν•΄μ£ΌλŠ” μ—­ν• , κΈ°λ³Έκ°’μ΄λ―€λ‘œ μƒλž΅ κ°€λŠ₯
  • OUT : ν”„λ‘œμ‹œμ €μ—μ„œ ν˜ΈμΆœν™˜κ²½μœΌλ‘œ 값을 μ „λ‹¬ν•˜λŠ” μ—­ν• 

μ‚¬μš©μžμ •μ˜ ν•¨μˆ˜(Stored Function)

-> returnκ°’ 있음

  • μ‚¬μš©μžκ°€ λ§Œλ“  ν•¨μˆ˜μ΄λ©° μ–΄λ–€ 연산을 μˆ˜ν–‰ν•œ λ’€ 결과값을 λ°˜ν™˜ν•œλ‹€.

  • ν˜•μ‹)
    CREATE OR REPLACE FUNCTION ν•¨μˆ˜λͺ…(νŒŒλΌλ―Έν„°,..)
    RETURN λ¦¬ν„΄ν˜•
    IS
    λ³€μˆ˜μ„ μ–Έ;
    BEGIN
    μ‹€ν–‰λ¬Έμž₯;
    ..
    RETURN κ°’;
    END;
    /

    예1) μž…λ ₯받은 κ°’μœΌλ‘œλΆ€ν„° 10%의 μ„Έμœ¨μ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜
    CREATE OR REPLACE FUNCTION TAX(N NUMBER)
    RETURN NUMBER
    IS
    VAL NUMBER(10,3);
    BEGIN
    VAL:=N*0.1;
    RETURN VAL;
    END;
    /

SELECT TAX(1000) FROM DUAL;

profile
λΉ„μ „κ³΅μž 개발자λ₯Ό κΏˆκΎΈλŠ” λ‘œμ§€

0개의 λŒ“κΈ€