# 내장 SQL
- SQL 표준은 C, C++, Java 와 같은 다양한 프로그래밍 언어에서 내장 가능
- 호스트 언어는 SQL 질의를 내장하는 언어
- EXEC SQL 문은 내장 SQL 요청을 전처리기가 식별할 수 있도록 함
EXEC SQL <embedded SQL statement > END_EXEC
- 전처리기에 의해 처리됨
- 호스트 언어로 된 선언과 프로시저로 번역됨
- 번역의 결과는 호스트 언어의 컴파일러로 컴파일 됨
- 데이터베이스 연결
EXEC SQL connect to “server” user “user-name” using “password”
- 호스트 언어의 변수 선언
EXEC SQL BEGIN DECLARE SECTION;
int credit_amount;
EXEC SQL END DECLARE SECTION
- 호스트 언어변수 credit_amount가 있고, credit_amount 이수 시간 이상을 수강한 모든 학생의 ID와 이름을 구하라
- 변수 c는 이 질의의 커서(cursor)라고 함
EXEC SQL
declare c cursor for
select ID, name
from student
where tot_cred > :credit_amount; 콜론 사용
END_EXEC
# open 문
- 질의가 수행되도록 함
- EXEC SQL open c END_EXEC
# fetch 문
- 한 투플의 값을 호스트 언어의 변수들에 할당함
- EXEC SQL fetch c into :si, :sn END_EXEC
- 결과의 모든 투플들을 얻기 위해 반복 호출
- 처리될 투플이 없으면, SQLCA에 있는 변수 SQLSTATE는 ‘02000’(데이터 없음을 의미)의 값을 가짐
# close 문
- 질의 결과를 유지하는 임시 릴레이션을 데이터베이스 시스템이 삭제함
- EXEC SQL close c END_EXEC
'전공 공부 > 데이터베이스시스템' 카테고리의 다른 글
함수 (0) | 2021.01.03 |
---|---|
프로시저 (0) | 2021.01.03 |
JDBC 사용 (0) | 2021.01.03 |
JDBC 코드 예시 (0) | 2021.01.03 |
JDBC와 ODBC (0) | 2021.01.03 |