Background Image
조회 수 22497 추천 수 63 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
큐브리드는 자바로 프로시저를 만들기 때문에 jdbc를 이용하면 쉽게 큐브리드 내의 프로시저를 사용 할 수 있습니다.

하지만 php는 따로 제시되는 방법이 없는 것 같았습니다.
그래서 이상하게나마 조금 만들어 봤습니다.

php에서 프로시저 사용 하는 방법은 기본적으로 큐브리드 shell로 접속 했을 때 구문을 사용 하는 방법이랑 같습니다.

1. call 구문을 만들기

   call proc_php_test (aaa, bbb, ccc)

   여기서는 ccc 라는 변수가 out 또는 inout 변수라고 가정 합니다.
   처음에는 구문만 먼저 만듭니다.


2. 변수를 선언 합니다.

   select 1 into aaa from db_root;
   select 1 into bbb from db_root;
   select 1 into ccc from db_root;

   간단하게 db_root 클래스를 사용하여 변수에 초기값을 넣어 둡니다.
   이렇게 안하면 변수를 어떻게 선언하는지 따로 방법이 없는 것 같습니다. ㅠ.ㅠ

  참고로 프로시저 사용하기 전에는 항상 변수를  선언해주는 작업이 필요한 것은
  db_root에 있는 값이 변경되고 그 값을 다음에 실행되는 프로시저들이 그대로 사용할 수 있 기 때문에 중간 중간에 계속 값이 변경 될 수가 있습니다.


3. 1번에서 만들었던 프로시저를 실행합니다.

   call proc_php_test(aaa, bbb, ccc);

   실제 프로시저를 실행합니다.
   참고로 out, inout 변수를 실행할때도 ccc에는 mssql 처럼 output 이라고 명시를 해주지 않아도 실행이 되었습니다.
        
4. out 변수 받기

   select ccc from db_root;

   마지막으로 out 변수를 db_root 클래스를 이용하여 출력을 해줍니다.

이상 4가지의 절차를 걸쳐서 php 구문으로 만들면 출력 변수를 php에서 사용 할 수 있습니다.

전체 구문을 알아보죠..

sqlx> select 10 into aaa from db_root;
sqlx> select 5 into bbb from db_root;
sqlx> select 1 into ccc from db_root;
sqlx> call jinho (aaa, bbb, ccc);
sqlx> select ccc from db_root;
sqlx> ;x

jinho 라는 프로시저는 aaa와 bbb 값을 곱해서 ccc로 넘겨 줍니다.
ccc 라는 곳에는 50 이라는 값이 들어갑니다.

그러면 php 소스를 구성해보겠습니다.

// 연결
$conn = cubrid_connect(.....);

// 변수 선언
$var_list = array();
$var_list[] = "select 1 into aaa from db_root;";
$var_list[] = "select 1 into bbb from db_root;";
$var_list[] = "select 1 into ccc from db_root;";

cubrid_execute(implode("", $var_list));

// 프로시저 실행하기
$proc = " call proc_php_test(aaa, bbb, ccc) ";
cubrid_execute($proc);

// out 변수 받기
$select = "select ccc from db_root ";
$result = cubrid_execute($select);

print_r(cubrid_fetch($result));

// 연결 종료
cubrid_disconnect($conn);

위와 같은 형태로 하면 php에서도 간단하게나마 프로시저를 사용할 수 있습니다.
먼가 좀 더 편한 방법이 있으면 좋겠습니다. ^^



  1. ITrack SW 다운로드

  2. No Image 25Oct
    by 장현정
    2007/10/25 by 장현정
    Views 15470 

    Linux에서 Cubrid 자동 부팅하기

  3. No Image 07Sep
    by 관리자
    2006/09/07 by 관리자
    Views 14511 

    ITrack 설명서

  4. ITrack 모범 사용(best practice) 문서

  5. No Image 26Feb
    by 한마루
    2007/02/26 by 한마루
    Views 1560623 

    큐브리드용 그누보드(GNUBOARD)4 공개

  6. No Image 06Sep
    by 관리자
    2006/09/06 by 관리자
    Views 17886 

    ITrack (Issue Tracking System) 이란?

  7. ITrack KLDP에 공개SW 프로젝트로 등록

  8. 큐브리드용 제로보드 및 데이터 마이그레이션 툴

  9. No Image 17Jan
    by 관리자
    2007/01/17 by 관리자
    Views 26812 

    소프트웨어 개발 프로세스 자료들...

  10. No Image 12Feb
    by 김평철
    2007/02/12 by 김평철
    Views 17389 

    JCO 8차 컨퍼런스 발표 자료 (개발프로세스)

  11. No Image 13Apr
    by 정병주
    2007/04/13 by 정병주
    Views 18546 

    사이냅소프트(Synapsoft) 개발체계

  12. 큐브리드 7.0 : cci c 파일 델파이 포팅자료 - 베타1

  13. No Image 19Jun
    by 서상욱
    2007/06/19 by 서상욱
    Views 20123 

    PHP로 DB작업 디버깅하기(오류시 담당자에 디버깅 정보 보내기)

  14. 큐브리드용 그누보드 4.21.0

  15. No Image 28Jun
    by 남재우
    2007/06/28 by 남재우
    Views 20159 

    게임개발자들을 위한 CUBRID C-API 관련 자료 및 sample code

  16. No Image 25Jul
    by 강사
    2007/07/25 by 강사
    Views 18109 

    교육 예제입니다.

  17. php로 큐브리드 프로시저 사용하기

  18. No Image 13Oct
    by 궁금이
    2007/10/13 by 궁금이
    Views 19236 

    loadjava GUI Tool 공유

  19. No Image 18Oct
    by 야라바
    2007/10/18 by 야라바
    Views 18976 

    phpCubAdmin 1.0.1 입니다.

  20. [util] procedure 등록 유틸리티

Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales