[oracle] ๊ธฐ๋ณธ ๋ช…๋ น์–ด (update, insert, delete, merge, commit, rollback, ์„œ๋ธŒ์ฟผ๋ฆฌ, exists)

2021. 10. 15. 11:18ใ†๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

728x90

1. update

update ํ…Œ์ด๋ธ”๋ช… set ํ•„๋“œ๋ช…1 = ๊ฐ’, ํ•„๋“œ๋ช…2 = ๊ฐ’, ... where ์กฐ๊ฑด์‹; 

 

2. insert 

insert into ํ…Œ์ด๋ธ”๋ช… values (๊ฐ’1, ๊ฐ’2, ๊ฐ’3, ...); 

or

insert into ํ…Œ์ด๋ธ”๋ช… (ํ•„๋“œ๋ช…1, ํ•„๋“œ๋ช…2...) valeus ( ๊ฐ’1, ๊ฐ’2,...);

 

3. merge 

merge ๋ช…๋ น์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ง€์ •ํ•œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•œ๋‹ค. 

์ผ๋ฐ˜์ ์œผ๋กœ ์กฐ๊ฑด์‹์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด update ๊ตฌ๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด insert ๊ตฌ๋ฌธ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค. 

merge into ์ž…๋ ฅ/ ์ˆ˜์ •ํ•  ํ…Œ์ด๋ธ”๋ช… 

using (ํ…Œ์ด๋ธ”๋ช… | ๋ทฐ| ์„œ๋ธŒ์ฟผ๋ฆฌ)

on ์กฐ๊ฑด์‹ 

when matched then 

  update set ํ•„๋“œ๋ช…1 = ๊ฐ’1, ...

when not matched then 

  insert  .. values ๊ตฌ๋ฌธ 

 

 

4. delete 

delete from ํ…Œ์ด๋ธ”๋ช… where ์กฐ๊ฑด์‹; 

 

5. commit 

commit ๋ช…๋ น์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ”๋€ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•œ๋‹ค. 

insert, update, delete ๋ช…๋ น์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊พธ๋ฉด ๋ฐ”๋กœ db์— ๋ฐ˜์˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ”๋€ ๋‚ด์šฉ์„ ์ž„์‹œ๋กœ ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ”๋€ ๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ commit ๋ช…๋ น์„ ์‹คํ–‰ํ•ด db์— ์‹ค์ œ๋กœ ๋ฐ˜์˜ํ•œ๋‹ค. 

 

 

6. rollback 

rollback ๋ช…๋ น์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ”๋€ ๋‚ด์šฉ์„ ์ทจ์†Œํ•˜๊ณ  ์ตœ์ข… commit ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ„๋‹ค. 

 

 

7. ํŠธ๋žœ์žญ์…˜ 

ํŠธ๋žœ์žญ์…˜ transaction ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์—์„œ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” ์—…๋ฌด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. 

ํŠธ๋žœ์žญ์…˜ ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ ๋“ฑ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํฌํ•จํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—… ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ž‘์—… ์ „์ฒด๋ฅผ ์ทจ์†Œํ•˜๊ณ  ์ž‘์—… ์ „ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ„๋‹ค. 

https://hyejin.tistory.com/119?category=975063 

 

[Database] Transaction๊ณผ Trigger

1. Transaction ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ๋‹จ์œ„ ๋˜๋Š” ํ•œ๊บผ๋ฒˆ์— ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์ผ๋ จ์˜ ์—ฐ์‚ฐ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด

hyejin.tistory.com

ํŠธ๋žœ์žญ์…˜ ๊ด€๋ จ ์ž์„ธํ•œ ๊ธ€์€ ์—ฌ๊ธฐ์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

 

8. ์„œ๋ธŒ์ฟผ๋ฆฌ (SUB QUERY)

์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” select ๊ตฌ๋ฌธ ์•ˆ์— ์ƒˆ๋กœ์šด select ๊ตฌ๋ฌธ์œผ๋กœ sql์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

์ด๋ ‡๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์งค ์ˆ˜๋„ ์žˆ๋Š”๋ฐ 

๋‚˜๋ˆ ์„œ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค. 

1๏ธโƒฃ

2๏ธโƒฃ

3๏ธโƒฃ

4๏ธโƒฃ

 

 

9. exists

exists ๊ตฌ๋ฌธ์€ ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•œ๋‹ค. 

select ๊ฒ€์ƒ‰ ํ•„๋“œ from ํ…Œ์ด๋ธ” where exists (select ~);

 

 

10. ๊ฒ€์ƒ‰ ์กฐ๊ฑด์„ ์ž…๋ ฅํ•ด์„œ sql ์‹คํ–‰ 

ํ•„๋“œ = :๊ฒ€์ƒ‰์กฐ๊ฑด๋ช… 

 

 

* ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฒ• 

/* */

 -- 

728x90