Background Image
조회 수 22493 추천 수 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에서도 간단하게나마 프로시저를 사용할 수 있습니다.
먼가 좀 더 편한 방법이 있으면 좋겠습니다. ^^



List of Articles
번호 제목 글쓴이 날짜 조회 수
62 행정정보데이터베이스 표준화지침 file 권호일 2012.03.31 19742
61 큐브리드용 제로보드 및 데이터 마이그레이션 툴 3 file InoS 2006.10.12 21981
60 큐브리드용 그누보드(GNUBOARD)4 공개 file 한마루 2007.02.26 1560619
59 큐브리드용 그누보드 4.21.0 1 file 한마루 2007.06.22 38476
58 큐브리드 7.0 : cci c 파일 델파이 포팅자료 - 베타1 2 file 나비스 2007.05.31 16390
57 울트라에디트 사용자를 위한 CUBRID 함수 구문강조 파일 file 시난 2009.07.03 30445
56 오픈소스 소프트웨어 라이선스 가이드 2.0 - 중급편 정병주 2017.09.18 677
55 오픈소스 소프트웨어 라이선스 가이드 1.0 - 초급편 정병주 2017.09.18 662
54 오픈소스 라이선스 해설 자료(Version 1.0.0) 정병주 2017.09.18 580
53 오토셋 서버 4.3.2 버전 - 2009.07.12 리패키징 버전 배포 (큐브리드 다운로더 포함) file 정병주 2009.07.14 22948
52 에디트플러스2 사용자를 위한 PHP+큐브리드용 stx 파일 2 file 바보천사 2009.06.26 17863
51 알지보드 4.1.0 베타 다운로드 정병주 2009.06.03 27394
50 소프트웨어 개발 프로세스 자료들... file 관리자 2007.01.17 26807
49 사이냅소프트(Synapsoft) 개발체계 정병주 2007.04.13 18542
48 네이버가 만든 오픈소스 가이드 정병주 2017.09.18 1521
47 그누보드 4.31.08 (CUBRID) 공개 시난 2009.07.01 27233
46 국가정보자원관리원 G-클라우드 소개자료 정병주 2017.12.26 2656
45 교육 예제입니다. 강사 2007.07.25 18104
44 공개SW 연구개발 수행 가이드라인 file 정병주 2018.04.27 712
43 공개SW 라이선스 가이드 정병주 2017.12.20 795
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