0
이 간단한 설명 방법을 보여줍니다는 PHP와 젠드 DB로 번호 목록과 함께 오라클 저장 함수/프로 시저를 호출하는 방법을
- 이
- 전화를 PHP 젠드 DB와 오라클 데이터베이스를 연결하기 위해 저장
- 젠드 DB와 절차/저장 기능은 실제 어레이 또는 저장 프로 시저/함수 입력 파라미터 같은 정수의 집합 (I은 쉼표로 구분 된 값의 문자열을 전달하지 않을 것이다)
- 을 행 합격 얻을 가자
: 저장된 기능
(I 오라클 11.x의, PHP 5.x 및 젠드 프레임 워크 1.x에서 사용 주)의 결과.
는 오라클 목록 유형을 만듭니다CREATE OR REPLACE TYPE NUMBER_LIST_TYPE IS TABLE OF NUMBER;
는 저장 함수를 만듭니다
CREATE FUNCTION MY_STORED_FUNCTION(id_list in NUMBER_LIST_TYPE) RETURN NUMBER AS
lv_list_size number;
BEGIN
select count(*) into lv_list_size from table(id_list);
RETURN lv_list_size;
END MY_STORED_FUNCTION;
는 PHP 파일을 만듭니다 :이 사람을 도울 수
<?php
require_once 'Zend/Db.php';
require_once 'DataSource.php';
$db_config['host'] = 'khazgoroth';
$db_config['port'] = 1521;
$db_config['username'] = 'thrall';
$db_config['password'] = 'chuchu';
$db_config['dbname'] = 'orgrimmar'; // see TNSNAMES.ORA
$db = Zend_Db::factory('Oracle', $db_config);
$conn = $db->getConnection();
$sql = 'BEGIN :r := MY_STORED_FUNCTION(:pmids); END;';
// Create an OCI-Collection object of NUMBER_LIST_TYPE
$ids = oci_new_collection($conn, 'NUMBER_LIST_TYPE');
$id_array = array(1, 12, 67);
// Append all IDs to the collection;
foreach ($id_array as $id) {
$ids->append($id);
}
// create a statement and bind the parameters
$stmt = new Zend_Db_Statement_Oracle($db, $sql);
$stmt->bindParam(':pmids', $ids, SQLT_NTY);
$stmt->bindParam(':r', $result, SQLT_INT); // this is the result of the Stored Function
$stmt->execute();
print "Result: $result";
?>
희망을.
설명 (방법)은 Zend_Db와 oci_new_collection의 약간의 도움으로 가능하다는 설명이 있어야합니다. – gfjr