책 내용 질문하기
내장 SQL 질문있습니다
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
400
조회수
226
작성일
2014-06-26
작성자
첨부파일

내장 SQL 에관련된 400쪽에서

커서는 employeecur 이라는것으로 선언되었고 그이후

EXEC SQL OPEN employeecur; 첫번째 튜플을 가르 키게했습니다

근데 while(1) 문 앞에서 시작하자마자

EXEC SQL FETCH employeecur 을 하면

FETCH에 의해 현재의 다음튜플로 커서를 올리기 때문에

두번쨰 튜플부터 연봉을 인상하는거 아닌가요?

EXEC SQL FETCH employeecur 을

while 문 마지막 부분에 넣어야 첫번쨰 튜플부터 연봉을 인상할수있는것

아닌가요ㅠㅠ? 궁금해서 질문올립니다

읽어주셔서 감사합니다.

답변
2014-06-30 10:38:09

안녕하세요.

Open 으로 인해 커서가 <직원> 테이블의 첫 번째 튜플을 가리키도록 하였고

이어 FETCH 로 인해 현재 튜플(앞서 Open으로 인해 첫 번째 튜플이 됨)을 가져온 후 포인터(가리키는)의 위치를 다음 튜플로 이동시켜 놓습니다. 이제 이후 Fetch를 만다면 포인터의 위치에 있는 값을 가져오고 또 포인터를 하나 이동시켜 놓겠죠.

결국 처리를 하려고 가져온 대상은 현재 튜플, 즉 첫 번째 튜플이 되어 처리를 수행합니다.

그런 다음 다시 Fetch를 만다면 두 번째 튜플을 가져와 처리하겠죠. 그 사이 포인트는 세번째 위치를 가리키고 있겠구요.

오늘도 즐거운 하루 되세요.

"
  • *
    2014-06-30 10:38:09

    안녕하세요.

    Open 으로 인해 커서가 <직원> 테이블의 첫 번째 튜플을 가리키도록 하였고

    이어 FETCH 로 인해 현재 튜플(앞서 Open으로 인해 첫 번째 튜플이 됨)을 가져온 후 포인터(가리키는)의 위치를 다음 튜플로 이동시켜 놓습니다. 이제 이후 Fetch를 만다면 포인터의 위치에 있는 값을 가져오고 또 포인터를 하나 이동시켜 놓겠죠.

    결국 처리를 하려고 가져온 대상은 현재 튜플, 즉 첫 번째 튜플이 되어 처리를 수행합니다.

    그런 다음 다시 Fetch를 만다면 두 번째 튜플을 가져와 처리하겠죠. 그 사이 포인트는 세번째 위치를 가리키고 있겠구요.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.