SELECT C.* FROM PM5010 A, PM5230 B, PM5210 C WHERE A.C_CD='10' AND A.C_CD = B.C_CD AND B.C_CD = C.C_CD AND A.EVU_STD_ID = B.EVU_STD_ID AND B.EVU_STD_ID = C.EVU_STD_ID AND B.EMP_EVU_NO = C.EMP_EVU_NO AND A.EVU_TYPE='UPZ' AND B.ORDER_NO='0' --AND B.EVU_EMP_ID='3952907' AND C.EVU_STD_ID='2016042001'
이 쿼리에서 C 부분에 해당 하는 내용을 모두 삭제 하려고 하는데...
DELETE 문 안에 IN을 쓰면 데이터가 너무 많다고 나옵니다.
이럴 경우 어떻게 해야 많은 데이터를 동시에 삭제를 할 수 있을까요?
간단한거 같은데... 갑자기 머리가 안돌아가는건지... ㅠㅠ
EXISTS를 쓰게 되면 C에 있는 내용이 전부 DELETE 됩니다.
조언 부탁드립니다.
DELETE FROM PM5210 AA WHERE AA.EMP_ID IN(SELECT B.EVU_EMP_ID FROM PM5010 A, PM5230 B WHERE A.C_CD='10' AND A.C_CD = B.C_CD AND A.EVU_STD_ID = B.EVU_STD_ID AND A.EVU_TYPE='UPZ' AND B.ORDER_NO='0' --AND B.EVU_EMP_ID='3952907' AND B.EVU_STD_ID='2016042001') AND AA.EVU_STD_ID='2016042001'
아... 이런 세상에... 쉽게 만들어지는데
ㅠㅠ 갑자기 멘붕이 와서 그런가... 하아...
해결 되었습니다 ㄷㄷ;;;