데이터 변경

  1. INSERT 구문

    • 테이블에 하나 또는 여러개의 데이터 삽입

      1) Single Line

    • 테이블 하나에 Line을 삽입하기 위한 문장

      INSERT INTO <target> VALUES <wa>.
      INSERT <target> FROM <wa>.

      2) Several Line

    • 인터널 테이블의 모든 값을 한 번에 테이블에 삽입

    • 같은 KEY값을 INSERT하게 되면 error가 발생하는데 이를 방지하기 위해 ACCEPTING DUPLICATE KEYS 구문을 사용한다.

      • 중복된 키가 입력된 값을 INSERT 하게 되면 신규행은 정상 입력 중복된 값을 미입력, INSERT 구문이 실패하면 SY-SUBRC 값 4를 반환
      INSERT <target> FROM TABLE <itab>
                                            [ACCEPTING DUPLICATE KEYS].
  2. UPDATE 구문

    • 테이블 하나 또는 여러 line을 변경함

      UPDATE INTO <target> <lines>.

      1) Single Line

      2) Several Lines

    • Work Area를 사용하는 것보다 UPDATE SET 구문을 이용해 개별 컬럼 값을 변경하는 것이 성능이 우수

      UPDATE <target> SET <set 1> <set 2> WHERE <cond>
  3. DELETE 구문

    • 테이블 하나 또는 여러 line의 데이터를 삭제

      1) Single Line

      2) Several Lines

  4. MODIFY 구문

    • UPDATE + INSERT 의 기능을 수행

    • 키 값을 가지는 데이터가 테이블에 존재하면 UPDATE

    • 존재하지 않으면 INSERT

      1) Single Line

      2) Several Lines


테이블의 데이터를 확인하는 방법

  1. SE11 : 테이블과 같은 오브젝트를 조회/수정/생성하는 용도
    • 데이터 조회버튼을 클릭하면 SE16이 호출됨
  2. SE16 : 데이터를 조회하는 용도

둘 중 익숙한 트랜잭션을 사용하면 됨.


효율적인 SQL문 구문 작성

  1. 적중 리스트 최소화
    • 결과 리스트가 최소화 되도록 WHERE 절을 구성
  2. 전송되는 데이터양의 최소화
    • 결과로 나오는 데이터양을 최소화 하여 전송 ( UP TO ~ROWS 와 같이 )
  3. LOOP에 소요되는 비용 최소화
    • Nested SELECT 구문 피하기
  4. 검색 비용의 최소화
    • index를 활용하고
    • OR 구문 피하기
    • AND와 EQ 구문으로 쿼리 구성
  5. 데이터베이스의 부담 제거
    • ORDER BY 보다는 SORT 사용
  6. 인덱스에 사용된 필드 모두 기술
    • 인덱스에 사용된 모든 필드는 될 수 있으면 모두 기술하기
    • RANGE 변수를 적극 활용하기
  7. 가급적 Application Server에서 실행
    • ORDER BY는 데이터베이스에서 수행
    • ORDER BY는 Application Server에서 실행

'SAP > Easy ABAP' 카테고리의 다른 글

Ch 04 Modularization  (0) 2021.01.26
Ch 03 OPEN SQL & NATIVE SQL - 3  (0) 2021.01.18
Ch 03 OPEN SQL & NATIVE SQL - 1  (0) 2021.01.12
Ch 02 Data Type - 2  (0) 2021.01.08
Ch 02 Data Type - 1  (0) 2021.01.07

+ Recent posts