판봉 개발 일기

내장 SQL 본문

정보처리산업기사/정보처리산업기사 필기

내장 SQL

판봉 2021. 7. 26. 18:56
728x90

내장 SQL(Embedded SQL)의 정의

내장 SQL은 응용 프로그램 내에 데이터베이스에서 사용하는 데이터를 정의하거나

질의하는 SQL 문장을 내포하여 프로그램이 실행될 때 함께 실행되도록 호스트 프로그램 언어로 만든 프로그램에 삽입된 SQL입니다.


내장 SQL의 특징

  • 내장 SQL 실행문은 호스트 언어에서 실행문이 나타날 수 있는 곳이면 프로그램 어느곳에서나 사용 가능합니다
  • 일반 SQL문은 수행 결과로 여러 개의 튜플을 반환하는 반면, 내장 SQL은 단 하나의 튜플만을 반환합니다.
  • 내장 SQL문에 의해 반환되는 튜플은 일반 변수를 사용하여 저장할 수 있습니다.
  • Host Program의 컴파일 시 내장 SQL문은 선행처리기에 의해 분리되어 컴파일 됩니다.
  • 호스트 변수와 데이터베이스 필드의 이름은 같아도됩니다.
  • 내장 SQL문에 사용된 호스트 변수의 데이터 타입은 이에 대응하는 데이터베이스 필드의 SQL 데이터 타입과 일치하여야 합니다.
  • 내장 SQL문이 실행되면 SQL 실행의 상태가 SQL 상태 변수에 전달됩니다.

호스트 언어의 실행문과 구분시키는 방법

프로그램에서 호스트 실행문과 내장 SQL문을 구분하기 위한 방법입니다.

 

명령문의 구분

  • C/C++에서 내장 SQL문은 $와 세미콜론(;) 문자 사이에 기술한다
  • Visual BASIC에는 내장 SQL문 앞에 'EXEC SQL'을 기술합니다.

변수의 구분

 - 내장 SQL에서 사용하는 호스트 변수는 변수 앞에 콜론(:) 문자를 붙입니다.


커서(Cursor)

  • 커서는 내장 SQL문의 수행 결과로 반환될 수 있는 복수의 튜플들을 액세스할 수 있도록 해주는 개념입니다.
  • 커서는 질의 수행 결과로 반횐되는 첫 번째 튜플에 대한 포인터로 생각할 수 있습니다.
  • 커서를 사용하여 질의 결과로 반환될 수 있는 튜플들을 한 번에 하나씩 차례로 처리할 수 있습니다.

커서 관련 명령어
DECLARE : 커서를 정의하는 등 커서에 관련된 선언을 하는 명령

OPEN : 커서가 질의 결과의 첫 번째 튜플을 포인트하도록 설정하는 명령

FETCH : 질의 결과의 튜플들 중 현재의 다음 튜플로 커서를 이동시키는 명령

CLOSE : 질의 수행 결과에 대한 처리 종료 시 커서를 닫기 위해 사용하는 명령

'정보처리산업기사 > 정보처리산업기사 필기' 카테고리의 다른 글

시스템 카탈로그  (0) 2021.07.28
뷰(View)  (0) 2021.07.27
DML-INSERT,DELETE,UPDATE  (0) 2021.07.25
DML에 대하여(SELECT)  (0) 2021.07.24
DDL에 대하여  (0) 2021.07.23