Database

(23.01.09.) Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : on delete cascade ์„ค์ •ํ•˜๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 1. 11.

โ—โ—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;

//์ƒˆ๋กœ ON DELETE CASCADE ์„ค์ •ํ•˜์—ฌ์„œ ๋‹ค์‹œ ์™ธ๋ถ€์ฐธ์กฐํ‚ค๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค.

 

์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„ ๋ณด๋Š” ๋ฒ•:

ํ…Œ์ด๋ธ”์—์„œ ํ•ด๋‹น ํ…Œ์ด๋ธ”์„ ์ผœ์ค€ ๋’ค > ์ œ์•ฝ ์กฐ๊ฑด > constraint_name 

 

๋Œ“๊ธ€