SQL programming 
커서 (Cursor)

SQL의 SELECT문을 사용하여 테이블에서 레코드를 가져올 때, SQL은 해당 조건을 만족하는 모든 레코드들을 전체로 리턴할 뿐, 이 결과로부터 첫번째 ROW, 두번째 ROW, 다섯번째 ROW 등을 구분하여 엑세스할 수는 없다. 하지만 경우에 따라서는 이렇게 한 ROW씩 엑세스할 필요가 있는데, 이때 사용하는 것이 커서(Cursor)이다. TSQL에서 DECLARE...CURSOR를 사용하여 커서를 만들 때, 이 커서는 SQL 서버의 메모리상에 존재하는 서버 커서이며, 커서 내에서 전후로 이동하며 엑세스하는 것이 가능하다.





커서 (Cursor) 사용

다음은 커서를 사용하기 위한 기본적인 절차를 설명한다.
(1) DECLARE ... CURSOR문을 이용하여 먼저 커서를 정의하여야 한다. 커서 정의는 어떤 테이블에서 어떤 조건의 데이타를 가져오는지를 정하는 것이다. 커서를 정의할 때 전진만 가능한지, 전후 왕복이 가능한지 등등을 정하는 커서 타입을 정할 수 있다.
(2) 커서를 Open한다.
(3) 첫 레코드를 가져오기 위해 FETCH를 실행한다.
(4) @@FETCH_STATUS를 체크하여 레코드를 제대로 가져왔는지를 체크하고 루핑을 돈다.
(5) 커서 레코드로 필요한 작업을 실행한다.
(6) 다음 레코드를 가져온다.
(7) 커서 사용이 끝났으면, 커서를 닫고 할당을 해지한다.


예제





본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.