Notice
Recent Posts
Recent Comments
Link
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

AngzavA

[SQLD] 2-2-4. SQL ํ™œ์šฉ : PL/SQL ๋ณธ๋ฌธ

SQLD

[SQLD] 2-2-4. SQL ํ™œ์šฉ : PL/SQL

์ด์•™์ง€ 2023. 6. 8. 13:10

๐Ÿ“–DBMS

  • GRANT : USER์—์„œ DBMS ROLE ๋ถ€์—ฌ
  • REVOKE : ROLE ํšŒ์ˆ˜
  • ROLE : ์‚ฌ์šฉ์ž์™€ ๊ถŒํ•œ ์‚ฌ์ด์—์„œ ์ค‘๊ฐœ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ

GRANT SELECT,UPDATE ON A TO B;

 

 

๐Ÿ“–PL/SQL ํŠน์ง•

  • BLOCK๊ตฌ์กฐ๋กœ ๋˜์–ด์žˆ์–ด ๊ฐ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋ชจ๋“ˆํ™”๊ฐ€ ๊ฐ€๋Šฅ
  • ๋ณ€์ˆ˜, ์ƒ์ˆ˜ ๋“ฑ์„ ์„ ์–ธํ•˜์—ฌ SQL ๋ฌธ์žฅ ๊ฐ„ ๊ฐ’์„ ๊ตํ™˜ -> WHERE์ ˆ ์กฐ๊ฑด ๋“ฑ์œผ๋กœ ๋Œ€์ž… ๊ฐ€๋Šฅ
  • IF, LOOP ๋“ฑ์˜ ์ ˆ์ฐจ์˜ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ˆ์ฐจ์ ์ธ ํ”„๋กœ๊ทธ๋žจ
  • DBMS ์ •์˜ ์—๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž ์ •์˜ ์—๋Ÿฌ๋ฅผ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
  • ์˜ค๋ผํด์— ๋‚ด์žฅ, ์ง€์›ํ•˜๋Š” ์„œ๋ฒ„๋กœ ํ”„๋กœ๊ทธ๋žจ ์˜ฎ๊ธฐ๊ธฐ ๊ฐ€๋Šฅ
  • ์‘์šฉํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ์—ฌ๋Ÿฌ SQL ๋ฌธ์žฅ์„ ๋ธ”๋ก์œผ๋กœ ๋ฌถ๊ณ  ํ•œ ๋ฒˆ์— ๋ธ”๋ก ์ „๋ถ€๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ธฐ ๋–„๋ฌธ์— ํ†ต์‹ ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • PROCEDURE, USER DEFINED FUNCTION, TRIGGER ๊ฐ์ฒด๋ฅผ ์ž‘์„ฑ ๊ฐ€๋Šฅ
  • ํ”„๋กœ์‹œ์ € ๋‚ด๋ถ€ ์ ˆ์ฐจ์  ์ฝ”๋“œ๋Š” PL/SQL ์—”์ง„์ด ์ฒ˜๋ฆฌํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ SQL์€ SQL์‹คํ–‰๊ธฐ๊ฐ€ ์ฒ˜๋ฆฌ
  • ํ”„๋กœ์‹œ์ € ๋‚ด์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์‹œ์ €๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ ํ˜ธ์ถœ ํ”„๋กœ์‹œ์ €์˜ ํŠธ๋žœ์žญ์…˜๊ณผ๋Š” ๋ณ„๋„๋กœ PRAGMA AUTONOMOUS_TRANSACTION์„ ์„ ์–ธํ•˜์—ฌ ์ž์œจ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋™์  SQL ๋˜๋Š” DDL ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•  ๋•Œ EXECUTE IMMEDIATE ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค -> DELETE ~ ๋Š” ๋กค๋ฐฑ์ด ๊ฐ€

 

๐Ÿ“–์ €์žฅ ๋ชจ๋“ˆ(Stored Module)

  • ์ €์žฅํ˜• ํ”„๋กœ์‹œ์ €๋Š” SQL์„ ๋กœ์ง๊ณผ ํ•จ๊ป˜ DB ๋‚ด์— ์ €์žฅํ•ด ๋†“์€ ๋ช…๋ น๋ฌธ์˜ ์ง‘ํ•ฉ ์˜๋ฏธ
  • ์ €์žฅํ˜• ํ•จ์ˆ˜(์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜)๋Š” ๋‹จ๋…์ ์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ๋ณด๋‹ค๋Š” ๋‹ค๋ฅธ SQL๋ฌธ์„ ํ†ตํ•˜์—ฌ ํ˜ธ์ถœ๋˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” SQL์˜ ๋ณด์กฐ์ ์ธ ์—ญํ• 
  • ํŠธ๋ฆฌ๊ฑฐ๋Š” ํŠน์ •ํ•œ ํ…Œ์ด๋ธ”์— INSERT, UPDATE, DELETE์™€ ๊ฐ™์€ DML๋ฌธ์ด ์ˆ˜ํ–‰๋˜์—ˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž๋™์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ
  • ํŠธ๋ฆฌ๊ฑฐ์˜ ์šฉ๋„ : ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
  • ํŠธ๋ฆฌ๊ฑฐ : DB์— ์˜ํ•ด์„œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๊ณ  ์ˆ˜ํ–‰, TCL์„ ์ด์šฉํ•˜์—ฌ ์ œ์–ด ๋ถˆ๊ฐ€, DB ๋กœ๊ทธ์ธ ์ž‘์—…์—๋„ ์ •์˜ ๊ฐ€๋Šฅ

 

๐Ÿ“–ํ”„๋กœ์‹œ์ €์™€ ํŠธ๋ฆฌ๊ฑฐ์˜ ์ฐจ์ด์ 

ํ”„๋กœ์‹œ์ € ํŠธ๋ฆฌ๊ฑฐ
CREATE Procedure ๋ฌธ๋ฒ• ์‚ฌ์šฉ CREATE Trigger ๋ฌธ๋ฒ• ์‚ฌ์šฉ
EXECUTE ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ์ƒ์„ฑ ํ›„ ์ž๋™ ์‹คํ–‰
COMMIT, ROLLBACK ์‹คํ–‰ ๊ฐ€๋Šฅ COMMIT, ROLLBACK ์‹คํ–‰ ๋ถˆ๊ฐ€