SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
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);
?>


Chapitre précédentChapitre suivantAccueil nexen.net