🧾 🔧 MODIFY 문이란?

  • MODIFY는 존재하는 레코드면 UPDATE, 없으면 INSERT 하는 명령어.
  • 즉, "있으면 수정하고, 없으면 새로 넣어라" 이런 뜻!

✅ 사용 형식

`MODIFY zemployees FROM wa_employees.`
  • wa_employees는 워크 에어리어 (작업용 구조체)
  • 내부적으로는 employee(Key)를 보고,
    • 있으면 그 레코드를 수정 (UPDATE)
    • 없으면 새로 추가 (INSERT)

✅ 리턴값 체크

  • sy-subrc = 0 → 성공
  • sy-subrc = 4 → 실패 (예: 테이블 오류)

👀 예제 흐름 요약

  1. INSERT: 10000006번 직원 등록 (WESTMORE / BRUCE)
  2. UPDATE: 10000006의 성을 EASTMORE, 이름을 ANDY로 변경
  3. MODIFY (기존 레코드):
    • 같은 10000006 키 → NORTHMORE / PETER로 업데이트
  4. MODIFY (새로운 레코드):
    • 10000007 신규 → 새로운 직원 삽입

📌 핵심 요점

구문기능조건
INSERT 새 레코드 삽입 해당 키가 없을 때만 가능
UPDATE 기존 레코드 수정 해당 키가 있어야 함
MODIFY 있으면 수정, 없으면 삽입 (자동 판단) 키 존재 여부로 판단

💡 왜 MODIFY는 조심해서 써야 할까?

  • INSERT / UPDATE를 명확하게 나누는 게 가독성 좋음
  • 하지만 실무에서 상황 따라 둘 중 하나를 선택해야 할 때는 MODIFY가 유용함

🔚 결론

  • 평소엔 INSERT, UPDATE를 구분해서 쓰고
  • 조건에 따라 둘 중 하나를 선택해야 할 때만 MODIFY를 사용하자!

 


+ Recent posts