728x90

# 내장 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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기