โโon delete cascadeโโ
๊ฒ์๊ธ๊ณผ ๋๊ธ ๊ฐ์ด ์ข ์ ๊ด๊ณ๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด ๋ถ๋ชจ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋ฉด ์์๋ฐ์ดํฐ๋ ์๋์ ์ผ๋ก ์ญ์ ๋์ด์ผํ๋ค. ์ค๋ผํด์์ ์ด ๊ธฐ๋ฅ์ด ๋ฐ๋ก on delete cascade ์ด๋ค.
๊ฒ์๊ธ์ ์ญ์ ํ๋ ค๊ณ ํ๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์๋ฐฐ๋ก ์ญ์ ๊ฐ ์๋๊ณ 500์๋ฌ๊ฐ ๋์๋ค.
์ฐพ์๋ณด๋ delete cascade ์ ์ฝ์กฐ๊ฑด์ ์ค์ ํด๋์ผ ๋ถ๋ชจํ ์ด๋ธ ์ญ์ ์ ์์ํ ์ด๋ธ๋ ๊ฐ์ด ์ญ์ ๋๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ค.
alter table ์์ํ ์ด๋ธ๋ช
add constraint ์ค์ ํ ์ ์ฝ์กฐ๊ฑด๋ช
foreign key (์ธ๋ํค๋ก ์ค์ ํ ํค)
references ๋ถ๋ชจํ ์ด๋ธ๋ช (์ธ๋ํค๋ก ์ค์ ํ ํค)
on delete cascade;
!!์ธ๋ํค ์ ์ฝ์กฐ๊ฑด์ ์ถ๊ฐํ๊ธฐ ์ํด์ ๊ธฐ์กด์ ์ ์ฝ์กฐ๊ฑด์ ์ญ์ ํ, ๋ค์ ๋ฑ๋กํด์ค์ผ ํ๋ค.
drop๋ฌธ์ผ๋ก ์ญ์ ์์ผ์ฃผ์.
ORA-02298: ์ ์ฝ (C##ROOT.MP_FILE_DELETE)์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํ ์ ์์ - ๋ถ๋ชจ ํค๊ฐ ์์ต๋๋ค
์ ์ฉ๋์ค ORA-02298์๋ฌ๊ฐ ๋์๋๋ฐ, ์คํ๋ฅผ ํ๋ฒ ํ์ธํด๋ณธ ํ,
์คํ๊ฐ ์์ ๊ฒฝ์ฐ์ ์์ํ ์ด๋ธ์ ๊ฐ๋ณ์ ์ธ ์ญ์ ๋ฑ์ผ๋ก ์ธํด ๋ถ๋ชจํ ์ด๋ธ๊ณผ ์์ํ ์ด๋ธ์ ํค๊ฐ ๋งค์นญ์ด ์๋๋๊ฒ ์ด์ ๋ค.
์์ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ delete๋ฌธ์ผ๋ก ๋ ๋ ค์ฃผ๊ณ , ๋ค์ ์ ์ฝ์กฐ๊ฑด์ ๋ฑ๋กํ๋ฉด ์ ์๋ฑ๋ก ๋๋ค.
ALTER TABLE comments DROP CONSTRAINT SYS_C007145;
//๋จผ์ SYS_C007145 ์ด๋ฆ์ผ๋ก ๋์ด ์๋ ์ธ๋ถ์ฐธ์กฐ ํค(FOREIGN KEY) ์ ์ฝ ์กฐ๊ฑด์ ์ญ์ ํด์ค ๋ค
ALTER TABLE comments
ADD CONSTRAINT SYS_C007145
FOREIGN KEY (dnum)
REFERENCES diary(dnum)
ON DELETE CASCADE;
์ ์ฝ์กฐ๊ฑด ์ด๋ฆ ๋ณด๋ ๋ฒ:
ํ ์ด๋ธ์์ ํด๋น ํ ์ด๋ธ์ ์ผ์ค ๋ค > ์ ์ฝ ์กฐ๊ฑด > constraint_name
๋๊ธ