 |
|
Sommaire
Oracle 8
ociDefineByName
ociBindByName
ociLogon
ociPLogon
ociNLogon
ociLogOff
ociexecute
ociCommit
ociRollback
ociNewDescriptor
ociRowCount
ociNumCols
ociResult
ociFetch
ociFetchInto
ociFetchStatement
ociColumnIsNULL
ociColumnName
ociColumnSize
ociColumnType
ociServerVersion
ociStatementType
ociNewCursor
ociFreeStatement
ociFreeCursor
ociFreeDesc
ociparse
ociError
ociinternaldebug
OCICancel
ocisetprefetch
OCIWriteLobToFile
OCISaveLobFile
OCISaveLob
OCILoadLob
OCIColumnScale
OCIColumnPrecision
OCIColumnTypeRaw
OCINewCollection
OCIFreeCollection
OCICollAssign
OCICollAssignElem
OCICollGetElem
OCICollMax
OCICollSize
OCICollTrim
|
6.68.23 ociNewCursor[ Exemples avec ociNewCursor ] Description
int ocinewcursor(resource conn )
ocinewcursor alloue un nouveau pointeur
de commande, pour la connexion conn.
Utiliser un REF CURSOR issue d'une procédure enregistrée.
|
<?php // supposons que votre procédure stoquée info.output retourne un pointeur // de curseur dans : data $conn = ociLogon("scott","tiger"); $curs = ociNewCursor($conn); $stmt = ociparse($conn,"begin info.output(:data); end;"); ocibindbyname($stmt,"data",&$curs,-1,oci_B_CURSOR); ociexecute($stmt); ociexecute($curs); while (ociFetchInto($curs,&$data)) { var_dump($data); } ociFreeStatement($curs); ociFreeCursor($stmt); ociLogoff($conn); ?>
|
Utiliser un REF CURSOR issue d'une commande SELECT |
<?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); ?>
|
|
|
 |
 |