SQL programming 
커서를 이용 ROW 데이타를 하나의 변수에 넣는 예

복수 개의 ROW 데이타를 하나의 문자열 변수에 넣기 위해서는 일반적으로 Loop를 돌면서 ROW 데이타를 결합한다. 다음 예제는 서버 커서(Cursor)를 사용하여 한 ROW 씩 데이타를 가져와 이를 결합하는 SQL 코드이다. 한 ROW 마다 한 라인에 넣기 위해서 Newline 즉 CHAR(13) + CHAR(10)을 추가하였다. 이 예제는 고객의 이름을 한 라인씩 갖는 하나의 문자열을 만드는 것이다.

예제






더 간단한 방식

위와 같이 루프를 사용하는 방식은 한 ROW씩 단계적으로 데이타를 처리한다는 점에서 직관적이긴 하지만 코드의 양이 많고 속도가 느린 단점이 있다. 보다 간단한 방식으로 ROW 데이타를 직접 변수에 결합(Combine)하는 방식을 사용할 수 있다. 아래 예제는 '이전 @data'와 Name 컬럼 그리고 NewLine을 결합하여 다시 @data 변수에 할당하고 있는데, 이것이 전체 쿼리 결과 ROW에 순차적으로 적용되므로 결과적으로 누적의 효과를 내게 된다. 이러한 방식은 별도의 커서와 루프를 만들지 않는다는 점에 더 효율적이고 또한 간결하다.

예제





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