예제 3-1에서
왼쪽 코드는 구조체를 이용하여 SELECT~ENDSELECT 구문을 사용.
오른쪽 코드는 인터널 테이블에 값을 한 번에 저장.(ENDSELECT 구문 없음)
104쪽 내용에 보면 "INTO 구문의 결과가 저장되는 곳이 인터널 테이블이 아니라 필드 또는 work area(구조체)일 때에는
하나의 값을 읽어서 구조에 삽입하고, 조건에 해당하는 값을 모두 읽어 올 때까지 LOOP를 수행한다."라고 나와있는데,
1) 105쪽 왼쪽코드에는 LOOP 구문이 명시되어 있지 않은데..자동적으로 LOOP를 수행하는 건가요..?
이해가 잘 안가서..자세한 원리 설명해주시면 감사하겠습니다.
2) 오른쪽 코드는 인터널 테이블에 값을 한번에 저장하고서 LOOP 구문을 이용해서 gs_wa라는 work area로 데이터를 하나씩 이동한 다음,
WRITE 하는건가요..?
안녕하세요.
1. 말씀하신데로 자동으로 LOOP 가수행됩니다.
즉, SELECT 결과가 여러건이면, 데이터가 존재할때까지 SELECT ~ ENDSELECT. 내에서 LOOP 자동 수행됩니다.
2. 말씀하신 내용이 맞습니다.