<?php
$conn = oci_connect('hr', 'welcome', 'localhost/orcl');
// 取得 REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);
// 顯示兩列,但不要預取任何額外的列,否則
// 這些額外的列將不會傳回給 myproc_use_rc()。
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);
// 將 REF CURSOR 傳遞給 myproc_use_rc() 以使用結果集執行更多資料處理
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);
?>