분류 전체보기 (505) 썸네일형 리스트형 Pro*C 어플리케이션의 작성 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 대부터는 이영역이 의미가 없어졌다. EXE.. Pro*C 컴파일 Pro*C 컴파일 일단 "sample.pc"로 어플리케이션 프로그램의 코딩이 끝났으면 Pro*C 프리컴파일을 해야 한다. proc INAME=sample1.pc proc sample1.pc proc에서 사용되는 프리컴파일러 옵션들의 Default 값들은 프리컴파일러 내에 포함되어 있고, Pro*C System Configuration file에 있고, 또 user configuration file을 작성하여 지정할 수도 있다. 예를 들어 MAXOPENCURSORS라는 옵션은 프리컴파일러 내에 10으로 되어있는데, system 환경화일에 MAXOPENCURSORS=32라고 하면 Default값은 32가 되는 것이다 . 또 user가 정의한 환경화일을 지정해 주면 Default 값은 그 값으로 변경된다 . .. Dynamic SQL의 사용 Dynamic SQL의 사용 보통의 어플리케이션 프로그램에서는 SQL문이 확정된 후 프로그램에 적용한다. 그러나, 다이나믹 SQL의 사용하는 경우는 사용자의 입력에 의거해서 SQL문이 작성되거나 다른 STATIC SQL문의 결과에 의해서 SQL문이 생성되는 경우 다이나믹SQL을 사용하게 된다. 비교될 컬럼이 변경되는 경우(WHERE절), 참조할 테이블이 변경되어야 하는 경우, INSERT, UPDATE시의 컬럼이 변경되는 경우이 있다. Method SQL문 1 QUERY문이 아니면서 호스트 변수가 없는 경우 2 QUERY문이 아니면서 호스트 변수가 정해지지 않은 경우 3 호스트 변수와 SELECT컬럼이 정해진 QUERY문인 경우 4 호스트 변수와 SELECT컬럼이 정해지지 않은 QUERY문인 경우 < M.. SQLCA(SQL Communication Area) SQLCA(SQL Communication Area) 데이터베이스와 어플리케이션 프로그램 상호간에 여러가지 정보를 얻는 구조체 SQLCA 구조체 (SQL Communication Area) struct sqlca { /* ub1 */ char sqlcaid[8]; /* b4 */ long sqlabc; /* b4 */ long sqlcode; struct { /* ub2 */ unsigned short sqlerrml; /* ub1 */ char sqlerrmc[70]; } sqlerrm; /* ub1 */ char sqlerrp[8]; /* b4 */ long sqlerrd[6]; /* ub1 */ char sqlwarn[8]; /* ub1 */ char sqlext[8]; }; sqlcaid SQL .. Pro*C에서 변수의 사용 Pro*C에서 변수의 사용 데이터의 Type C변수 타입 설명 char single charactor char[n] n-charactor array(string) Int integer Short small integer Long large integer Float floating-point number(usually single precision) Double floating-point number(always double precision) VARCHAR[n] variable-length string 호스트 변수를 위한 C데이타 타입 C와 Oracle 데이타 타입 호환성 Internal Type(Oracle) C Type 설명 VARCHAR2(Y)(Y:1~2000) char single characto.. SQL문 기본 SQL문 기본 데이타베이스에서 데이타를 질의한다.(Select) 데이타를 입력(Insert), 수정(Update), 삭제(Delete)한다. 데이타 구조를 생성(Create), 수정(Alter), 삭제(Drop)한다데이타 액세스를 조절한다(Grant) SQL문의 종류 SQL문의 종류에는 DDL(Data Definition Language테이블/데이타의 구조를 조작하는 명령) DML(Data Manupulation Language : 데이타를 조작하는 명령) Session Control(세션을 제어하는 명령) System Control(시스템을 제어하는 명령) Transaction Control(트랜잭션을 제어하는 명령) 등이 있다. (아래 표 참고) Data Definition Data Manupulat.. Pro*C 개요 Pro*C개요 Embedded SQL Program 의 생성 Pro*C는 PreCompiler로 SOURCE에 포함되어 있는 Embedded SQL문을 SQLLIB의 Function으로 SOURCE코드를 생성시켜 C SOURCE로 변환해 주는 프리 컴파일러이다. 3GL언어에서 SQL문(4GL언어)을 사용하여 보다 편하게 ORACLE을 직접 Access할 수 있도록 한다. 어떤 SQL문장이든 수행가능하다. 데이타베이스 테이블을 다이나믹하게 CREATE, ALTER, DROP한다. Row를 SELECT, INSERT, UPDATE, DELETE 한다. 트랜잭션을 COMMIT, ROLLBACK 한다. PL/SQL을 실행 할 수 있다. Pro*C의 기초 Pro*C의 기초 Embedded SQL 문 어플리케이션에서 SQL문과 C문장과 C변수와 SQL문장의 구조를 모두 자유롭게 사용할수 있다. 호스트 프로그램에서 SQL문장을 사용할 경우 “EXEC SQL”이란 키워드를 사용하여 SQL문을 시작하고 문장의 마지막에는 세미콜론(“;”)으로 종결되도록 한다. EXEC SQL로 시작하여 ‘;’로 종료하는 것이 Embedded SQL이다. 선언(Declarative) 명령 설명 ARRAYLEN PL/SQL에서 호스트 array를 사용 BEGIN DECLARE SECTION END DECLARE SECTION ANSI모드에서 호스트 변수를 사용하기 위한 명령 DECLARE Oracle object의 이름 부여 INCLUDE 현재위치에 파일 대치 TYPE 데이터 타입의.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 64 다음