Manuel PHP
Précédent
Suivant
ocinewcursor() alloue un nouveau pointeur de commande, pour la connexion conn.
Exemple 1.
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);?
Exemple 2.
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);?
Précédent
Sommaire
Suivant
Niveau supérieur
ociNewDescriptor