1. UPDATE
UPDATE INTO <target> <lines>.
- 테이블의 하나 또는 여러 line을 변경한다.
- target은 테이블 이름으로, 동적 선언이 가능하다.
UPDATE <dbtab> [CLIENT SPECIFIED] <lines>.
- client지정이 가능하며, 테이블 명을 동적/정적으로 선언 가능하다.
1. 구조체 하나로 업데이트할 때 (UPDATE ... FROM)
DATA: gs_scarr TYPE scarr,
gv_carrid TYPE scarr-carrid.
gv_carrid = 'AA'.
gs_scarr-carrid = gv_carrid.
gs_scarr-carrname = 'Updated Airline'.
gs_scarr-url = 'https://updated-airline.com'.
UPDATE scarr FROM gs_scarr.
CLEAR gs_scarr.
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = gv_carrid.
WRITE: / 'Carrid:', gs_scarr-carrid,
/ 'Carrname:', gs_scarr-carrname,
/ 'URL:', gs_scarr-url.
2. 필드를 지정해서 업데이트할 때
UPDATE scarr
SET carrname = 'Korea Airlines', url = 'https://www.koreanairlines.com'
WHERE carrid = 'KO'.
UPDATE scarr SET carrname = 'Korea Airlines', url = 'https://www.airlinekorean.com'
WHERE carrid = 'KO'.
* DB에서 다시 읽어오기
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'KO'.
WRITE: / 'carrid: ', gs_scarr-carrid,
/ 'CARNAME: ', gs_scarr-carrname,
/ 'URL: ', gs_scarr-url.
URL이 바뀐 것을 확인할 수 있다.
db에서 읽어오려면, SELECT 로 DB를 읽어올 수 있다.
- 이렇게 하면 UPDATE가 성공적으로 되는 것을 확인할 수 있다!
3. 내부 테이블로 여러 행 업데이트 (UPDATE FROM TABLE)
DATA: gt_scarr TYPE STANDARD TABLE OF scarr,
gs_scarr TYPE scarr.
" 첫 번째 업데이트 데이터
gs_scarr-carrid = 'AA'.
gs_scarr-carrname = 'Updated American'.
gs_scarr-url = 'https://www.updatedaa.com'.
APPEND gs_scarr TO gt_scarr.
" 두 번째 업데이트 데이터
gs_scarr-carrid = 'AF'.
gs_scarr-carrname = 'Updated France'.
gs_scarr-url = 'https://www.updatedaf.com'.
APPEND gs_scarr TO gt_scarr.
" 내부 테이블로 업데이트
UPDATE scarr FROM TABLE gt_scarr.
" 확인용 SELECT 출력
CLEAR gs_scarr.
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'AA'.
WRITE: / 'AA ->', gs_scarr-carrname, gs_scarr-url.
SELECT SINGLE * INTO gs_scarr FROM scarr WHERE carrid = 'AF'.
WRITE: / 'AF ->', gs_scarr-carrname, gs_scarr-url.
-
'SAP' 카테고리의 다른 글
easy abap 14. modify (0) | 2025.05.09 |
---|---|
easy abap 13. Delete (0) | 2025.05.09 |
easy abap 11. INSERT (0) | 2025.05.09 |
easy abap 10. select - join & 그 외 문법 (0) | 2025.05.09 |
easy abap 09. SELECT (0) | 2025.05.08 |