範例 2. Using a REF CURSOR in a select
statement
?php
print " HTML BODY ";
$conn = OCILogon("scott","tiger");
$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
"where emp.deptno = dept.deptno) as EMPCNT from dept";
$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");
ociexecute($stmt);
print " TABLE BORDER=\"1\" ";
print " TR ";
print " TH DEPT NAME /TH ";
print " TH DEPT # /TH ";
print " TH # EMPLOYEES /TH ";
print " /TR ";
while (OCIFetchInto($stmt, $data,OCI_ASSOC)) {
print " TR ";
$dname = $data["DNAME"];
$deptno = $data["DEPTNO"];
print " TD $dname /TD ";
print " TD $deptno /TD ";
ociexecute($data["EMPCNT"]);
while (OCIFetchInto($data["EMPCNT"], $subdata,OCI_ASSOC)) {
$num_emps = $subdata["NUM_EMPS"];
print " TD $num_emps /TD ";
}
print " /TR ";
}
print " /TABLE ";
print " /BODY /HTML ";
OCIFreeStatement($stmt);
OCILogoff($conn);
?
|
|