1. COBOL Source
/* SQLCA 정의 */
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
/* 커서 정의 */
EXEC SQL
DECLARE C1 CURSOR FOR
SELECT uname
FROM qgpl/userdb
WHERE uname LIKE :str2
END-EXEC.
/* 커서 실행 */
EXEC SQL
OPEN C1
END-EXEC.
PERFORM FETCH-RTN THRU FETCH-EXIT UNTIL SQLCODE NOT EQUAL TO ZERO.
/* 결과를 한 행씩 FETCH */
FETCH-RTN.
EXEC SQL
WHENEVER NOT FOUND GOTO END-RTN
FETCH C1 INTO :namek
END-EXEC.
FETCH-EXIT. EXIT.
/* 커서 닫기 */
END-RTN.
EXEC SQL
CLOSE C1
END-EXEC.
소문자 부분은 사용 환경에 따라 수정해야 할 부분 입니다
2. 주요 부분 설명
1) INCLUDE SQLCA
SQL 통신 영역을 정의 합니다
2) WHERE uname LIKE :str2
LIKE 비교를 위한 호스트 변수는 단독 선언되어야 한다
하위레벨이 선언된 레코드 형식이면 컴파일 오류 발생
V5R1 이후는 개선된 것으로 아는데 검증은 못해 보았음
3) PERFORM FETCH-RTN THRU FETCH-EXIT UNTIL SQLCODE NOT EQUAL TO ZERO.
선택된 결과행을 EOF 일 때 까지 한행(Record)씩 추출
3. 참 조
1) 프로그램 소스를 다운받아 소문자 부분 수정후 사용하세요 [Source Down]
2) SEU 사용시 소스 타입은 SQLCBL 로 하면 됩니다
3) 컴파일 명령은 CRTSQLCBL(Create SQL Cobol) 입니다.
4) 참고자료 SC41-3611-00 DB2/400 SQL 프로그래밍