DML
1) INSERT
INSERT INTO DEPT2 VALUES(9001,'TMP_2', 1006, 'TEMP AREA') ;
โทINSERT ๋ก 1ํ์ฉ ์ ๋ ฅ
=ํ ์ด๋ธ ์ด๋ฆ ๋ค์ ์ ๋ ฅํ๊ณ ์ํ๋ ์ปฌ๋ผ์ด๋ฆ๊ณผ VALUES์ ์ปค๋ผ ๋ค์ด๊ฐ ๊ฐ ๋ช ์
โทINSERT + ์๋ธ์ฟผ๋ฆฌ๋ก ์ฌ๋ฌ ํ ์ ๋ ฅํ๊ธฐ
= ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ -> ITAS
โทINSERT ALL : ์ฌ๋ฌ ํ ์ด๋ธ์ ์ฌ๋ฌํ ์ ๋ ฅ
2) UPDATE
= ๊ธฐ์กด๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ก ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
UPDATE TABLE SET COLUMN = VALUE WHERE ์กฐ๊ฑด ;
์ฌ์ฉ์2)
UPDATE PROFESSOR SET PAY = PAY *1.15; -- PAY+(PAY*0.15) WHERE POSITION =( SELECT POSITION -- return ๊ฐ์ด ํ๋์ฌ์ผํจ!! FORM PROFESSOR WHERE NAME ='Sharon Stone';) -- 'instructor' AND PAY < 250
UPDATE PROFESSOR SET PAY = PAY *1.15; -- PAY+(PAY*0.15) WHERE POSITION IN = ( SELECT POSITION -- ๊ฐ์ฌ๋ฌ๊ฐ IN ์ฌ์ฉ FORM PROFESSOR WHERE NAME ='DEPTNO' AND PAY < 250
3) DELETE
= DELETE ํ ํ์๋ ํ ์ด๋ธ ํฌ๊ธฐ๋ ์ค์ด๋ค์ง ์๊ณ ๊ทธ๋๋ก์ด๋ค.
DELETE FROM TABLE WHERE ์กฐ๊ฑด;
4) MERGE
= ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ํฉ์น๋ ๋ณํฉ
= 3ํ ํฉ์น๋ ๊ธฐ์ค์ 3ํ์ ์กฐ๊ฑด์ด ๊ธฐ์ค์ด ๋จ,
= 4ํ ์กฐ๊ฑด ๋ง์กฑ์ 1->2 ๋ก UPDATE ๋๋ DELETE ์ํ
= 7ํ ์กฐ๊ฑด ๋ถ๋ง์กฑ์ INSERT ๋จ
=ON์ ์์ ์ค๋ ๋๋ ๊ฐ์ด ์ฌ๋ฌ๊ฐ ์์ผ๋ฉด ์๋ฌ -> ์กฐ๊ฑด์ปฌ๋ผ์ PK, UNIQUE INDEX ์ค์
= ํํ ์ด๋ธ์์ MERGE -> USING DUAL (๊ฐ์ํ ์ด๋ธ)
MERGE INTO CHARGE USING DUAL ON U_DATE = TO_CHAR(SYSY~~) AND CUST~ = $SCUST_NO --ํ๋ผ๋ฏธํฐ๋ฐ์๊ฑฐ๋ก WHEN MATCHED THEN UPDATE SET U_TIME = U_TIME +1 DELETE WHERE ์กฐ๊ฑด WHEN NOT MATCHED THEN INSERT VALUES (TO_CHAR(SYSY~~) ,$SCUST_NO,1);
5) UPDATE ์กฐ์ธ
=WHERE ์ ์์UPDATE ๋์ ๋ฒ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์กฐ์ธ๋์ง ์์ ๋์์ NULL ๋ก UPDATE ๋๋ค.
SELECT * FROM professor WHERE profno = 100;
5-1) UPDATE JOIN VIEW MERGE ๋ฌธ
6) TRANSACTION ๊ด๋ฆฌ
= ๋ ผ๋ฆฌ์ ์ธ ์์ ๋จ์
= DML ์์ ๋ค์ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ๋ ๊ฒ
=๋ชจ๋ DML ์ด ์ฑ๊ณตํด์ผ ํธ๋์ญ์ ์ด ์ฑ๊ณตํ๋ ๊ฒ์ด๋ค.
โทCOMMIT : ํธ๋์ญ์ ๋ด์ ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ ํ๋ ๋ช ๋ น์ด
โทROLLBACK : ํธ๋์ญ์ ๋ด์ ๋ชจ๋ ๋ช ๋ น์ด๋ค์ ์ทจ์ํ๋ ๋ช ๋ น์ด
โทUNDO
โทREDO
โทREORG