728x90
반응형
호스트 언어들은 한 번에 하나의 레코드만 취급하는 데 커서(Cursor)는 레코드 집합을 처리하는 데 사용되는 일종의 포인터로 응용 프로그램의 삽입 SQL에만 사용되는 새로운 객체
집합에 있는 각 레코드들을 한 번에 하나씩 지시할 수 있게 해서 그 레코드 집합 전체를 처리
1. 커서가 필요 없는 데이터 조작
단일 레코드 검색
EXEC SQL SELECT Name, Phone
INTO :sName, :sPhone
FROM [테이블명]
WHERE Name = :Name
1. SQLSTATE 변수 값 : 00000
2. WHERE절을 만족하는 레코드가 없는 경우 SQLSTATE 변수 값 : 02000
3. 레코드가 둘 이상인 경우 에러 SQLSTATE 변수 값 : 오류 코드
# 삽입
EXEC SQL INSERT
INTO [테이블명] ([필드 리스트])
VALUES (:[변수명1], ..., :[변수명n]);
# 수정
EXEC SQL UPDATE [테이블명]
SET [필드] = [필드] + :nNum
WHERE [조건];
nNum 값만큼 증가
# 삭제
EXEC SQL DELETE
FROM [테이블명]
WHERE [필드] = :[변수명]
2. 커서를 이용하는 데이터 조작
-- 커서 정의
EXEC SQL DECLARE [커서명] CURSOR FOR
SELECT [필드 리스트]
FROM [테이블명]
WHERE [필드] = :[변수명]
-- 질의문 실행
EXEC SQL OPEN [커서명]
DO
-- 레코드 채취
EXEC SQL FETCH [커서명] INTO :[변수명1], ..., :[변수명n]
...
END
-- 커서 종료
EXEC SQL CLOSE [커서명]
728x90
반응형
'Database > Theory' 카테고리의 다른 글
Database。이상(Anomaly) (0) | 2020.12.16 |
---|---|
Database。삽입 SQL(Embedded SQL) - 다이나믹 SQL(Dynamic SQL) (0) | 2020.11.29 |
Database。삽입 SQL(Embedded SQL) - EXEC SQL (0) | 2020.11.27 |
Database。스키마(Scheme)와 카탈로그(Catalog) (0) | 2020.10.26 |
Database。관계해석(Relational Calculus) (0) | 2020.10.25 |