본문 바로가기

C-Language/Pro C, INSERT

Pro C, INSERT

Pro C, INSERT 예

DML 문장을 실행한 후에 반드시 COMMIT 명령으로 마무리해야 데이터베이스에 영구적으로 저장됨

#include <stdio.h>
#include "sqlca.h"

int main(void) {

 EXEC SQL BEGIN DECLARE SECTION;
     char *connstr = "scott/ojtit@orcl";
     int _empno;
     char * _ename;
     char * _hiredate;
  
     int empno;
     VARCHAR ename[20];
     VARCHAR hiredate[20];
  
 EXEC SQL END DECLARE SECTION;
 
 _empno = 1000;
 _ename = "홍길동";
 _hiredate = "2010/09/01";
 
 EXEC SQL CONNECT :connstr;
 
 if(sqlca.sqlcode == 0) {
  printf("오라클 연결 성공\n");
 }else{
  printf("오류 : 오라클 연결 실패\n");
 }
 
 EXEC SQL
  INSERT
  INTO
       EMPLOYEES (empno, ename, hiredate)
  VALUES (:_empno, :_ename, :_hiredate);

 EXEC SQL COMMIT WORK;
 
 EXEC SQL
  SELECT
      empno, ename, hiredate
  INTO
      :empno, :ename, :hiredate
  FROM
      EMPLOYEES
  WHERE
      empno = :_empno;
  
 ename.arr[ename.len] = '\0';
 hiredate.arr[hiredate.len] = '\0';
   
 printf("empno=%d, ename=%s, hiredate=%s \n", empno, ename.arr, hiredate.arr);
 
 printf("프로그램 종료\n");
 return 0; 
  
}