โผINSERT๋ก 1ํ์ฉ ์ ๋ ฅํ๊ธฐ
-> INSERT๋ก ํ์ ์ถ๊ฐํ ๋ ์ปฌ๋ผ์ ๋ง์ถฐ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ฉฐ, ๋ฐ์ดํฐ ๊ฐ์๊ฐ ๋ง์์ผ ํ๋ค.(๊ฐ ์ปฌ๋ผ์ ๋ง๊ฒ ์์๋ ๋ง์ถฐ์ค๋ค!)
-> ๋ค์ด๊ฐ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด null์ ๋ฃ์ด ์๋ฆฟ์๋ฅผ ๋ง์ถฐ์ฃผ๋ฉด ๋๋ค.
โผ๋ค๋ฅธ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
-> professor ํ ์ด๋ธ์์ profno, name, id ์ปฌ๋ผ์ ๊ฐ์ ธ์จ๋ค. profno๊ฐ 1001, 1002, 1003์ธ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ค๋ ์กฐ๊ฑด์ด ์๋ค.
โผ๋ฐ์ดํฐ ๋ณ๊ฒฝํ๊ธฐ
-> UPDATE ์์ฑ ์์๋ ์กฐ๊ฑด์ ์ ํ์ธํด์ผ ํ๋ค. ๋ฐ๊พธ๋ ค๋ ๋ฐ์ดํฐ์ ์กฐ๊ฑด์ ๋ช ์ํด์ฃผ์ง ์์ผ๋ฉด ๊ทธ ์ปฌ๋ผ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค.
DELETE FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด;
DELETE ์ฌ์ฉ ์ WHERE์ ์ด ์๊ฑฐ๋ ์๋ชป ์ฐ์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํ๋ค.
๐ฅ Teacher's Tip) DELETE๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ DELETE์ ์ ์ฃผ์์ ๋จผ์ ๊ฑธ์ด๋๋ค. SELECT ์ ๋ก ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ ๋ด๊ฐ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฉด ์คํํ๋ค! -> ์๋ํ์ง ์์ ์ค์๋ฅผ ์ค์ผ ์ ์๋ค.
MERGE๋ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๋ณํฉ์ ์๋ฏธํ๋ค.
MERGE INTO Table1
USING Table2
ON ( ๋ณํฉ ์กฐ๊ฑด์ )
WHEN MATCHED THEN
UPDATE SET ์
๋ฐ์ดํธ๋ด์ฉ
DELETE WHERE ์กฐ๊ฑด
WHEN NOT MATCHED THEN
INSERT VALUES(์ปฌ๋ผ ์ด๋ฆ);
-> MERGE๋ฅผ ์คํํด๋ณด๊ธฐ ์ํด test_member
์ test_member_total
ํ
์ด๋ธ์ ์์ฑ
-> test_member
ํ
์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์
-> test_member
๋ฐ์ดํฐ๋ฅผ test_member_total
ํ
์ด๋ธ์ MERGE
โผROLLBACK(์ทจ์)
-> INSERT๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ณ ROLLBACK์ ์ํํ๋ฉด ์ ๋ ฅํ ๋ฐ์ดํฐ๊ฐ ์ทจ์๋์ด ์๋ฌด ๋ฐ์ดํฐ๋ ์ ์ฅ๋์ง ์๋๋ค.
โผCOMMIT(ํ์ )
-> COMMIT์ ์ํํด์ผ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ค.