본문 바로가기

Programming

[트랜젝션] 데이터 삭제 관련

반응형
SMALL

A - cntn_no(PK) 

B- cntn_no(PK)  idno(실명번호) 컬럼 존재

C- cntn_no(PK)

 

요건: 10년 지난 상거래 종료 고객의 실명번호(개인정보) 삭제

10년 지난 상거래 종료 고객의 실명번호 보유 테이블(cuba99M) - 매일 배치로 삭제할 데이터 생성됨

 

문제: 손자인 C 테이블 삭제 가능

          아들인 B 테이블 삭제 가능

         부모인 A 테이블 삭제 가능할까요?

         현재는 C 테이블에 있는 B 테이블의 실명번호 정보를 조인으로 삭제함.

                    그리고 B 테이블의 실명번호를 cuba99M을 조인으로 삭제함.

               

1. delete from C where cntn_no in ( select cntn_no

                                                           from cuba99M x, B

                                                        where x.idno = B.idno

                                                            and B.del_dt between start_dt and nd_dt )

2. delete from B where idno in (select idno from cuba99M where del_dt between start_dt and end_dt )

 

3. delete from A cntn_no in (sselect cntn_no

                                                           from cuba99M x, B

                                                        where x.idno = B.idno

                                                            and B.del_dt between start_dt and nd_dt )

 

 

 

반응형
LIST

'Programming' 카테고리의 다른 글

[OpenAI]  (0) 2023.02.12
[개발자 블로그]charsyam  (0) 2023.02.11
홈 화면에 웹 바로가기를 추가하기(A2HS)  (0) 2023.02.11
API Architecture Types  (0) 2023.02.05
국가R&D통합공고  (0) 2023.02.05