์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [PL/SQL] ์ปค์„œ(Cursor)

    ์ปค์„œ(Cursor) ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๋ ˆ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋œ ์ž‘์—… ์˜์—ญ์—์„œ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ ๊ณผ์ •์— ์ƒ๊ธด ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ์ปค์„œ์˜ ์ข…๋ฅ˜ แ†ž์•”์‹œ์  ์ปค์„œ : ๋ชจ๋“  DML๊ณผ PL/SQL SELECT๋ฌธ์— ๋Œ€ํ•ด ์„ ์–ธ แ†ž๋ช…์‹œ์  ์ปค์„œ : ํ”„๋กœ๊ทธ๋ž˜๋จธ์— ์˜ํ•ด ์„ ์–ธ๋˜๋ฉฐ ์ด๋ฆ„์ด ์žˆ๋Š” ์ปค์„œ์ด๋‹ค ์•”์‹œ์  ์ปค์„œ ์˜ค๋ผํด์ด๋‚˜ PL/SQL์‹คํ–‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š” SQL๋ฌธ์žฅ์ด ์ฒ˜๋ฆฌ๋˜๋Š” ๊ณณ์— ๋Œ€ํ•œ ์ต๋ช…์˜ ์ฃผ์†Œ ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  SQL๋ฌธ์žฅ์€ ์•”์‹œ์ ์ธ ์ปค์„œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ, ์ปค์„œ ์†์„ฑ์„ ์‚ฌ์šฉ SQL ๋ฌธ์ด ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„ ์ž๋™์œผ๋กœ OPEN๊ณผ CLOSE ์•”์‹œ์  ์ปค์„œ ์†์„ฑ - SQL%ROWCOUNT : ํ•ด๋‹น SQL ๋ฌธ์— ์˜ํ–ฅ์„ ๋ฐ›๋Š” ํ–‰์˜ ์ˆ˜ -SQL%FOUND:ํ•ด๋‹นSQL์˜ํ–ฅ์„๋ฐ›๋Š”ํ–‰์˜์ˆ˜๊ฐ€1๊ฐœ์ด์ƒ์ผ๊ฒฝ์šฐTRUE - SQ..

    [PL/SQL] ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

    ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜์—ฌ ๊ตฌํ˜„ํ•œ ํ•จ์ˆ˜ ๋‚ด์žฅ ํ•จ์ˆ˜(๋นŒํŠธ์ธ ํ•จ์ˆ˜)์ฒ˜๋Ÿผ ์ฟผ๋ฆฌ์—์„œ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ EXECUTE ๋ฌธ ์„ ํ†ตํ•ด ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•จ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋Š” ์ค‘๋ณต ์ •์˜๊ฐ€ ๊ฐ€๋Šฅ ํ”„๋กœ์‹œ์ €๋Š” ํŠน์ •ํ•œ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ์ •๋ณด ํ™•์ธ SELECT * FROM user_procedures WHERE OBJECT_TYPE = ‘FUNCTION'; โœ”๏ธ USER_PROCEDURES ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜์˜ ๋ชฉ๋ก์„ ํ™•์ธ โœ”๏ธ USER_SOURCE ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜์˜ ์†Œ์Šค๋ฅผ ํ™•์ธ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ์ƒ์„ฑ CREATE [ OR REPLACE ] FUNCTION function_name [ ( parameter ๋ฐ์ดํ„ฐํƒ€์ž… [ ,parameter ๋ฐ์ดํ„ฐํƒ€์ž… ... ] ..

    [PL/SQL] ํ”„๋กœ์‹œ์ €

    ํ”„๋กœ์‹œ์ € ์ž์ฃผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์—…๋ฌด ํ๋ฆ„(SQL)์„ ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์— ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํ˜ธ์ถœํ•˜์—ฌ ์‹คํ–‰ ํŠน์ •ํ•œ ๋กœ์ง ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜โŒโŒโŒ ์ ˆ๋Œ€์ ์œผ๋กœ ์ปค๋ฐ‹์ด ํ•„์š”ํ•จ ํ”„๋กœ์‹œ์ € ํŠน์ง• ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ด๋„ ์—ฐ๊ด€๋œ ํ”„๋กœ์‹œ์ € ์‚ญ์ œโŒ ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋œ ์ƒํƒœ์—์„œ ์—ฐ๊ด€๋œ ํ”„๋กœ์‹œ์ €๋ฅผ ์‹คํ–‰ ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ ํŒŒ๋ผ๋ฏธํ„ฐ IN ํ”„๋กœ์‹œ์ €์—๊ฒŒ ๊ฐ’์„ ๋„˜๊ฒจ์ค„ ๋•Œ ์‚ฌ์šฉํ•จ OUT ์ž๋ฐ”์—๋Š” ์—†๋Š” ๊ฐœ๋…์œผ๋กœ ํ”„๋กœ์‹œ์ €๊ฐ€ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋˜๋Œ๋ ค ๋ฐ›์„ ๋•Œ INOUT IN๊ณผ OUT์„ ๊ฒฐํ•ฉํ•œ ๊ฐœ๋… ํ”„๋กœ์‹œ์ € ์ƒ์„ฑ CREATE OR REPLACE PROCEDURE ํ”„๋กœ์‹œ์ €์ด๋ฆ„ IS --ํ”„๋กœ์‹œ์ € ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜ ๋ณ€์ˆ˜์ด๋ฆ„ ๋ฐ์ดํ„ฐํƒ€์ž…; ๋ณ€์ˆ˜์ด๋ฆ„ ๋ฐ์ดํ„ฐํƒ€์ž…; BEGIN ๊ธฐ๋Šฅ ๊ตฌํ˜„,์ฒ˜๋ฆฌ ์ž‘์„ฑ; [EXCEPTION] END [ํ”„๋กœ์‹œ์ € ์ด๋ฆ„]; โœ”๏ธ ..

    [PL/SQL]

    PL/SQL ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ด์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๋Š” SQL์˜ ํ™•์žฅ ๋ฐ์ดํ„ฐ ์กฐ์ž‘๊ณผ ์งˆ์˜ ๋ฌธ์žฅ์€ PL/SQL์˜ ์ ˆ์ฐจ์  ์ฝ”๋“œ ์•ˆ์— ํฌํ•จ PL/SQL ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹จ์œ„ ๐Ÿ’‍โ™€๏ธ ใ†PL/SQL ์ต๋ช… ๋ธ”๋ก ใ†ํ•จ์ˆ˜ ใ†ํ”„๋กœ์‹œ์ € ใ†ํŒจํ‚ค์ง€ : ํŒจํ‚ค์ง€ ๋ช…์„ธ, ํŒจํ‚ค์ง€ ๋ฐ”๋”” ใ†ํŠธ๋ฆฌ๊ฑฐ ํ”„๋กœ์‹œ์ € https://codeong.tistory.com/61