๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์˜ค๋ผํดDB10

5๏ธโƒฃ FUNCTION ๐Ÿ”น ํ•จ์ˆ˜(FUNCTION)๋Š” PARAMETER(๋งค๊ฐœ๋ณ€์ˆ˜)๋ฅผ ๋จน์œผ๋ฉด ๊ผญ RETURN(๋ฐ˜ํ™˜๊ฐ’)์„ ๋Œ๋ ค์ค๋‹ˆ๋‹ค. ๐Ÿ”น ํ•จ์ˆ˜๋Š” SQL๋ฌธ ์•ˆ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. โ“ ์˜ค๋ผํด์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ROUND, NVL, DISTINCT ๊ฐ™์€ ํ•จ์ˆ˜๋“ค์€ ๋นŒํŠธ์ธ(Built-in) ํ•จ์ˆ˜๋ผ๊ณ  ์นญํ•˜๋ฉฐ PL/SQL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ผ๋Š”๊ฒƒ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ๋งŒ๋“  ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ“‹ 1. ํ•จ์ˆ˜ ์ƒ์„ฑ ๐Ÿ“‹ 2. ํ•จ์ˆ˜ ํ˜ธ์ถœ 2021. 2. 18.
4๏ธโƒฃ PROCEDURE ๐Ÿ“‹ ํ”„๋กœ์‹œ์ €(PROCEDURE)๋ž€? ๐Ÿ”ท ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” SQL์„ PROCEDURE๋กœ ๋งŒ๋“  ๋’ค ํ•„์š”์‹œ๋งˆ๋‹ค ํ˜ธ์ถœํ•ด์„œ ์ž‘์—…์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ณ  ๊ฐ„์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ๋„์‹์ฒ˜๋Ÿผ FUNCTION์€ ํŠน์ • ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ ํ•œ ๋’ค ๋ฆฌํ„ด ๊ฐ’(RETURN VALUES)์„ ๋ฐ˜ํ™˜ํ•˜๋‚˜ PROCEDURE(ํ”„๋กœ์‹œ์ €)๋Š” ํŠน์ •ํ•œ LOGIC์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋งŒ ํ•˜๊ณ  ๋ฆฌํ„ด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€์•Š๋Š”๋‹ค. ๐Ÿ“„ ์˜ˆ๋ฌธ 1 - PARAMETER(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์žˆ๋Š” PROCEDURE ๐Ÿ“„ ์˜ˆ๋ฌธ 2 - PARAMETER(๋งค๊ฐœ๋ณ€์ˆ˜)๊ฐ€ ์—†๋Š” PROCEDURE ๐Ÿ“„ ์˜ˆ๋ฌธ 3 - DEPARTMENTS ROW(๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€) ๐Ÿ“ ๋ฌธ์ œ 1 - '์‚ฌ์›๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์„œ ๊ธ‰์—ฌ๋ฅผ 30% ์ธ์ƒํ•˜๋ผ' 2021. 2. 18.
3๏ธโƒฃ ROWTYPE ๐Ÿ“‹ ROW TYPE์ด๋ž€ 1. ํ…Œ์ด๋ธ”, ๋ทฐ ๋‚ด๋ถ€์˜ ์ปฌ๋Ÿผ ๋ฐ์ดํ„ฐํ˜•, ํฌ๊ธฐ์™€ ์†์„ฑ์„ ์ž๋™์œผ๋กœ ์ ์šฉ๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 2. %rROWTYPE ์•ž์— ์˜ค๋Š”๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ด๋‹ค. 3. ํ•ด๋‹น ์ง€์ •๋œ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ์™€ ๋™์ผํ•œ ๊ตฌ์กฐ์ธ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 4. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปฌ๋Ÿผ์˜ ์ˆ˜๋‚˜ DATATYPE์„ ์•Œ์ง€ ๋ชปํ• ๋•Œ ์ž๋™์œผ๋กœ ์ ์šฉ๋˜๋‹ˆ ํŽธ๋ฆฌํ•˜๋‹ค. 5. ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์ปฌ๋Ÿผ์˜ DATATYPE์ด ๋ณ€๊ฒฝ ๋  ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๐Ÿ“ ์˜ˆ๋ฌธ 2021. 2. 18.
1๏ธโƒฃ PL/SQL ์˜ ์ •์˜์™€ ๊ธฐ๋ณธ ํ•จ์ˆ˜ PL/SQL์ด๋ž€ ? ์˜ค๋ผํด์—์„œ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์š”์†Œ๋ฅผ ๊ฐ–์ถ”๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—…๋ฌด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™” ์–ธ์–ด. EX ) Procedural extension Language to Structured Query (PL) -> ์ฒ˜๋ฆฌ์–ธ์–ด (Process = ์ฒ˜๋ฆฌํ•˜๋‹ค) (Procedure = ์ฒ˜๋ฆฌ์ž) SQL์„ ํ™•์žฅํ•œ ์ˆœ์ฐจ์ ์ธ ์–ธ์–ด : Procudure(๋ฆฌํ„ด x), Function(๋ฆฌํ„ด o), Trigger(์ž๋™ํ˜ธ์ถœํ•จ์ˆ˜, ํ˜ธ์ถœ์„์•ˆํ•ด๋„ ํ˜ธ์ถœ๋˜๋Š” ์ฝœ๋ฐฑ Call backํ•จ์ˆ˜) ๐Ÿ“‹ PL/SQL์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ DECLARE(์„ ์–ธ๋ถ€) : ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. BEGIN ~ END(์‹คํ–‰๋ถ€) : ์ œ์–ด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ๋“ฑ๋“ฑ ํ•จ์ˆ˜๋“ฑ์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. EXEPTION(์˜ˆ์™ธ์ฒ˜๋ฆฌ) : ์—๋Ÿฌ๋ฐœ์ƒํ›„ ๋ช…๋ น๋“ค์„ .. 2021. 2. 18.