์ฌ์ฉ์ ์ ์ ํจ์
์ฌ์ฉ์๊ฐ ์ง์ ๋ก์ง์ ๊ตฌํํ์ฌ ๊ตฌํํ ํจ์
๋ด์ฅ ํจ์(๋นํธ์ธ ํจ์)์ฒ๋ผ ์ฟผ๋ฆฌ์์ ํธ์ถํ๊ฑฐ๋ EXECUTE ๋ฌธ ์ ํตํด ์คํ
๊ฒฐ๊ณผ๋ฅผ ๋ฐํํจ
ํจํค์ง ๋ด์์ ์ฌ์ฉ์ ์ ์ ํจ์๋ ์ค๋ณต ์ ์๊ฐ ๊ฐ๋ฅ
ํ๋ก์์ ๋ ํน์ ํ ๋ก์ง์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ์ง ์์
์ฌ์ฉ์ ์ ์ ํจ์ ์ ๋ณด ํ์ธ
SELECT * FROM user_procedures WHERE OBJECT_TYPE = ‘FUNCTION';
โ๏ธ USER_PROCEDURES
์ฌ์ฉ์ ์ ์ ํจ์์ ๋ชฉ๋ก์ ํ์ธ
โ๏ธ USER_SOURCE
์ฌ์ฉ์ ์ ์ ํจ์์ ์์ค๋ฅผ ํ์ธ
์ฌ์ฉ์ ์ ์ ํจ์ ์์ฑ
CREATE [ OR REPLACE ] FUNCTION function_name [ ( parameter ๋ฐ์ดํฐํ์
[ ,parameter ๋ฐ์ดํฐํ์
... ] )]
RETURN ๋ฐ์ดํฐํ์
IS
๋ณ์,์์๋ฑ์ ์ธ
BEGIN
์คํ๋ถ
RETURN ๋ฐํ๊ฐ;
[ EXCEPTION ์์ธ ์ฒ๋ฆฌ๋ถ ]
END [ function_name ];
โ๏ธ OR REPLACE
์ฌ์ฉ์ ์ ์ ํจ์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ํจ์๋ฅผ ์์ฑํ๋ฉฐ, ์กด์ฌํ๋ฉด ๊ธฐ์กด ํจ์๋ ์ฌ์์ฑ(์์ )
โ๏ธ ๋งค๊ฐ๋ณ์(parameter)
๋ฐ์ดํฐ ํ์ ๋ง ๋ช ์. ํฌ๊ธฐ ์ง์ โ
โ๏ธ RETURN ๋ฐ์ดํฐํ์
๋ฐํ๋๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ๋ง ๋ช ์. ํฌ๊ธฐ๋ฅผ์ง์ โ
โ๏ธ RETURN ๋ฐํ๊ฐ
ํจ์๋ฅผ ์คํํ๊ณ ํธ์ถํ ๊ณณ์ผ๋ก ๋ฐํํ ๊ฐ์ ๋ช ์
์ฌ์ฉ์ ์ ์ ํจ์ ํธ์ถ
์ฟผ๋ฆฌ์์ ํธ์ถํ๊ฑฐ๋ EXECUTE ๋ฌธ์ผ๋ก ์คํ
์ฌ์ฉ์ ์ ์ ์ญ์
DROP FUNCTION function_name;
'๐ปProgramming > ๐ฝOracle' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PL/SQL] ์์ธ(Exception) ์ฒ๋ฆฌ (0) | 2022.08.18 |
---|---|
[PL/SQL] ์ปค์(Cursor) (0) | 2022.08.18 |
[PL/SQL] ํ๋ก์์ (0) | 2022.08.17 |
[PL/SQL] (0) | 2022.08.17 |
[Oracle] PIVOT๊ณผ UNPIVOT (0) | 2022.08.15 |