μλ νμΈμ Foma π» μ λλ€!
μ€λμ μ¬λ¬ μμ μ νλ²μ μ€νν μ μλ νλ‘μμ μ λν΄μ μμ보λλ‘ νκ² μ΅λλ€.
λ°λ‘ μμν κ²μ~
νλ‘μμ (Procedure)λ?
λ°μ΄ν°λ² μ΄μ€μ λν μΌλ ¨μ μμ μ μ 리ν μ μ°¨λ₯Ό κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ μ μ₯ν κ²μΌλ‘ μꡬμ μ₯λͺ¨λ(Persistent Storage Module)μ΄λΌκ³ λ λΆλ¦½λλ€.
λ³΄ν΅ μ μ₯ νλ‘μμ λ₯Ό νλ‘μμ λΌκ³ λΆλ₯΄λ©°, μΌλ ¨μ 쿼리λ₯Ό λ§μΉ νλμ ν¨μμ²λΌ μ€ννκΈ° μν 쿼리μ μ§ν©μ
λλ€.
μ¦, νΉμ μμ
μ μν 쿼리λ€μ λΈλ‘μ
λλ€.
(κ±°μ ν¨μμ λΉμ·ν©λλ€. μ°¨μ΄μ μ μ¬κΈ° μμ νμΈνμλ©΄ λ©λλ€.)
μ₯μ
νλμ μμ²μΌλ‘ μ¬λ¬ SQLλ¬Έμ μ€νμν¬ μ μμ΅λλ€. (λ€νΈμν¬ λΆνλ₯Ό μ€μΌ μ μμ)
λ€νΈμν¬ μμ μκ°μ μ€μ¬ μ±λ₯μ κ°μ ν μ μμ΅λλ€.
μ¬λ¬ μ΄ν리μΌμ΄μ
κ³Ό 곡μ κ° κ°λ₯ν©λλ€. (APIμ²λΌ μ 곡κ°λ₯)
κΈ°λ₯ λ³κ²½μ΄ νΈν©λλ€. (νΉμ κΈ°λ₯μ λ³κ²½ν λ νλ‘μμ λ§ λ³κ²½νλ©΄ λ¨)
λ¨μ
λ¬Έμλ μ«μμ΄ μ°μ°μ μ¬μ©νλ©΄ μ€νλ € C,Javaλ³΄λ€ λλ¦° μ±λ₯μ λ³΄μΌ μ μμ΅λλ€.
μ μ§λ³΄μκ° μ΄λ ΅μ΅λλ€.(νλ‘μμ Έκ° μ±μ μ΄λμ μ¬μ©λλμ§ νμΈμ΄ μ΄λ €μ)
μμ±
CREATE OR REPLACE PROCEDURE νλ‘μμ Έμ΄λ¦ (νλΌλ―Έν°1,νλΌλ―Έν°2...);
IS
λ³μ
BEGIN
쿼리문
END νλ‘μμ Έ μ΄λ¦;
μνμ¬μ ν°μ΄λ₯Ό μμλ΄λ νλ‘μμ
CREATE OR REPLACE PROCEDURE GET_TIER(in_name IN VARCHAR2,out_tier OUT VARCHAR2)
IS
BEGIN
SELECT TIER INTO out_tier FROM SUMMONER_TB WHERE NAME = in_name;
EXCEPTION
--μνμ¬λ₯Ό μ°Ύμ μ μμ λ
WEHN NO_DATA_FOUND THEN
out_tier:='NO_SUMMONER_FOUND';
END GET_TIER;
νλΌλ―Έν° κ°μ in,out,inoutμΌλ‘ μ΄ μΈκ°μ§ μ’
λ₯λ‘ μμ±ν μ μμ΅λλ€.
λ¨Όμ inμ μ λ¬λ λ°μ΄ν°μ΄κ³ , outμ κ²°κ³Όλ‘ λκ° λ°μ΄ν°, in out inκ³Ό out λͺ¨λ κ°λ₯ν λ°μ΄ν°λ₯Ό λ»ν©λλ€.
μλμ κ°μ΄ νλ‘μμ κ° μμ±λ κ±Έ λ³Ό μ μμ΅λλ€.
μ‘°ν
DECLARE
μΆλ ₯λ λ³μ μ μΈ
μ€νν νλ‘μμ
μΆλ ₯λ¬Έ(Optional)
END
fakerμ ν°μ΄λ₯Ό μΆλ ₯νλ νλ‘μμ
DECLARE
out_tier VARCHAR2(10);
BEGIN get_tier('faker',out_tier);
DBMS_OUTPUT.PUT_LINE(out_tier);
END;
-- C1
μμ
μμ μ create or replace ꡬ문μ μ¬μ©νλ©΄ ν΄λΉ νλ‘μμ λͺ μ΄ μλ€λ©΄ μμ , μλ€λ©΄ μμ±λκ² λ©λλ€.
CREATE OR REPLACE PROCEDURE GET_TIER(in_name IN VARCHAR2,out_tier OUT VARCHAR2)
IS
BEGIN
SELECT NAME INTO out_tier FROM SUMMONER_TB WHERE NAME = in_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN
out_tier:='NO_DATA_FOUND';
END get_tier;
μμ
DROP PROCEDURE νλ‘μμ λͺ
;
GET_TIER νλ‘μμ λ₯Ό μμ ν λ μλμ κ°μ΄ μμ±νλ©΄ λ©λλ€.
DROP PROCEDURE GET_TIER;
'π Database > Oracle' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Oracle] μΈλ±μ€(Index)λ? (feat. C.R.U.D) (0) | 2022.03.05 |
---|---|
[Oracle] νΈλ¦¬κ±°(Trigger)λ? (feat. C.R.U.D) (0) | 2022.03.05 |
[Oracle] λ·°(View)λ? (feat C.R.U.D) (0) | 2022.03.04 |
[Oracle] Oracle λ°μ΄ν° νμ μμ보기(Oracle Data Type) (0) | 2022.02.24 |
[Oracle] DDL(Data-Definition-Language)λ¬Έμ΄λ? (feat. Oracle) (0) | 2022.01.04 |
λκΈ