Pro*C 어플리케이션의 작성
어플리케이션의 구조
EXEC SQL BEGIN DECLARE SECTION;
바인드 변수 선언
EXEC SQL END DECLARE SECTION;
EXEC SQL INCLUDE "sqlca.h"
main(){
EXEC SQL CONNECT :username IDENTIFIED BY :password;
Embedded SQL문
작업
EXEC SQL COMMIT WORK;
또는 EXEC SQL ROLLBACK RELEASE;
}
BEGIN DECLARE SECTION
바인드 변수를 선언하는 부분이다.
이 영역에 선언한 변수만 SQL문에 사용할 수 있었으나 현재에는 어디서라도 바인드변수를 선언하고 사용할 수가 있다.
Pro*C 2.XX 대부터는 이영역이 의미가 없어졌다.
EXEC SQL END DECLARE SECTION;
바인드 변수영역을 종료하는 명령이다.
EXEC SQL INCLUDE “sqlca.h”
SQL Communication Area 를 포함하는 부분이다현재의 버젼에서는 sqlca.h를 일반 C문법에서 처럼 #include <sqlca.h>로 선언 할 수 있다
proc컴파일시
proc iname=sample1.pc include=$ORACLE_HOME/ product/7.3.3/precomp/public
cc컴파일시
cc -o sample1 sample1.c -I/$ORACLE_HOME/ product/7.3.3/precomp/public
를 주어 include화일의 위치를 명시해야 한다
EXEC SQL CONNECT :username IDENTIFIED BY :password;
오라클과 연결하는 부분이다username과 password는 bind변수로 선언되어 있어야 한다
Embedded SQL문
실제적인 작업 부분이 여기에 들어간다어떤 SQL문도 여기에 올 수 있다
EXEC SQL COMMIT WORK; 또는 EXEC SQL ROLLBACK RELEASE;
트랜잭션을 종료하고 오라클로 접속을 종료하는 명령이다.
COMMIT WORK 변경된 데이타를 확정한다 ROLLBACK 변경된 데이타를 되돌린다
'ProC' 카테고리의 다른 글
PCC-S-02015, unable to open include file (0) | 2011.10.16 |
---|---|
ORA-01405: fetched column values is NULL (0) | 2011.10.16 |
Pro*C 컴파일 (0) | 2011.10.16 |
Dynamic SQL의 사용 (0) | 2011.10.16 |
SQLCA(SQL Communication Area) (0) | 2011.10.16 |