안녕하세요, 개동이입니다..
완전 초급 질문 하나 할께요..
다른게 아니라. 제목에서 알 수 있듯이 Native SQL의 원리를 알고 싶습니다..
SQL이 실행되서 work area에 가져온 후, internal table에 append하는데요..
SQL이 한번 실행되는 것인지, 아니면 data 갯수만큼 실행되는지 이게 궁금합니다..
즉, 조회 결과가 10건이라면
SQL이 한 번 실행되서 결과를 통째로 가져온 후,
10개의 결과를 차례대로 work area에 저장하고 internal table에 append하는지..
아니면, SQL이 한 번씩 실행되서 work area에 저장하고 internal table에 append,
이렇게 해서 총 10번이 실행되는건지..
누구에게 설명해 주려고 하는데 책에서도 못 찾겠고, 게시판에서도 검색했는데 못 찾아서
이렇게 질문 올립니다..
허접한 질문이지만, 답변 부탁드리겠습니다..
[추가 정보(?)]
현재 사용하고 있는 프로그램에서 CURSOR를 쓰면 time-out 덤프가 떨어지고,
그냥 Native SQL로 INTO :WA- 이런 식으로 하면 실행이 됩니다..
그래서 '아, cursor는 한꺼번에 10개를 가져오느라 시간이 오래 걸려서 덤프가 떨어지는 거고,
INTO를 사용하면 SQL이 10번 실행이 되서 wa 에 한개씩 담기 때문에 덤프가 안 떨어지는구나..'
라고 가볍게 생각했는데
INTO를 사용해도 append를 10번 하는 것일뿐, 이 녀석도 한 번에 데이터를 가져오는 것 같아서요.. -_-a