안녕하세요 길벗수험서 운영팀입니다.
cursor와 관련된 문제는 잘 출제되지 않을 뿐더러, 출제된지도 상당히 오래되어 중요히 다뤄지지 않은 부분입니다. 때문에 교재에서도 해당 문제가 어떤식으로 나왓었는지만 안내해드렸습니다.
(실제 시험에 나오더라도 해당 유형에서 거의 벗어나지 않을 것으로 예상됩니다.)
먼저 cursor for는 cursor를 사용하겠다는 일종의 선언입니다.
exec sql declare [커서명] cursor for <- 커서 선언형식입니다.
커서 형식으로 저장된 [커서명]은 일종의 테이블 처럼 활용됩니다.
때문에 update라든지 delete 같은 DML을 사용하는 경우 전체에 적용되지 않고 현재 작업중인 튜플에만 적용하기 위해서는 CURRENT OF [커서명] 과 같은 방식으로 사용해주어야 합니다.
122쪽은 [커서명]을 직접 update로 조작하기 위해 current of를 사용한 것이고, 126쪽의 경우 [커서명]으로 부터 fetch를 받아 변수를 통해 조작하였므로 사용되지 않은 것이죠.
------------------------
[부서번호 CHAR(10) FOREIGN KEY REFERRENCES 부서]
예, 정확하게 사용하셨습니다.
사용 가능하며, 동일하게 정답으로 인정됩니다.
행복한 하루되세요 :)
-
관리자2019-10-04 10:26:44
안녕하세요 길벗수험서 운영팀입니다.
cursor와 관련된 문제는 잘 출제되지 않을 뿐더러, 출제된지도 상당히 오래되어 중요히 다뤄지지 않은 부분입니다. 때문에 교재에서도 해당 문제가 어떤식으로 나왓었는지만 안내해드렸습니다.
(실제 시험에 나오더라도 해당 유형에서 거의 벗어나지 않을 것으로 예상됩니다.)
먼저 cursor for는 cursor를 사용하겠다는 일종의 선언입니다.
exec sql declare [커서명] cursor for <- 커서 선언형식입니다.
커서 형식으로 저장된 [커서명]은 일종의 테이블 처럼 활용됩니다.
때문에 update라든지 delete 같은 DML을 사용하는 경우 전체에 적용되지 않고 현재 작업중인 튜플에만 적용하기 위해서는 CURRENT OF [커서명] 과 같은 방식으로 사용해주어야 합니다.
122쪽은 [커서명]을 직접 update로 조작하기 위해 current of를 사용한 것이고, 126쪽의 경우 [커서명]으로 부터 fetch를 받아 변수를 통해 조작하였므로 사용되지 않은 것이죠.
------------------------
[부서번호 CHAR(10) FOREIGN KEY REFERRENCES 부서]
예, 정확하게 사용하셨습니다.
사용 가능하며, 동일하게 정답으로 인정됩니다.
행복한 하루되세요 :)