OCINewCursor
(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)
OCINewCursor — Új kurzor (parancs eredmény kezelő) megnyitása
Leírás
int OCINewCursor
( int $conn
)
Az OCINewCursor() egy új eredménytábla kezelő kurzort nyit meg a megadott kapcsolaton.
Example#1 REF CURSOR használata egy tárolt eljárásból
<?php // feltesszük, hogy az info.kimenet tárolt eljárásod egy "ref cursor"-t // ad vissza az :adat-ban $conn = OCILogon("scott","tiger"); $kurzor = OCINewCursor($conn); $stmt = OCIParse($conn,"begin info.kimenet(:adat); end;"); ocibindbyname($stmt,"adat", &$kurzor, -1, OCI_B_CURSOR); ociexecute($stmt); ociexecute($kurzor); while (OCIFetchInto($kurzor, &$adat)) { var_dump($adat); } OCIFreeStatement($stmt); OCIFreeCursor($kurzor); OCILogoff($conn); ?>
Example#2 REF CURSOR használata select parancsban
<?php print "<HTML><BODY>"; $conn = OCILogon("scott","tiger"); $szamlalo_kurzor = "CURSOR(select count(dolgozoid) dolgozo_szam from dolgozok " . "where dolgozok.reszleg = reszleg.reszlegid) as DSZAM from reszleg"; $stmt = OCIParse($conn,"select reszlegid,rnev,$szamlalo_kurzor"); ociexecute($stmt); print "<TABLE BORDER=\"1\">"; print "<TR>"; print "<TH>RÉSZLEG NÉV</TH>"; print "<TH>RÉSZLEG SZÁM</TH>"; print "<TH>DOLGOZÓK SZÁMA</TH>"; print "</TR>"; while (OCIFetchInto($stmt, &$adat, OCI_ASSOC)) { print "<TR>"; $rnev = $adat["RNEV"]; $rszam = $adat["RESZLEGID"]; print "<TD>$rnev</TD>"; print "<TD>$rszam</TD>"; ociexecute($adat["DSZAM"]); while (OCIFetchInto($adat["DSZAM"], &$reszadat, OCI_ASSOC)) { $dszam = $reszadat["DOLGOZO_SZAM"]; print "<TD>$dszam</TD>"; } print "</TR>"; } print "</TABLE>"; print "</BODY></HTML>"; OCIFreeStatement($stmt); OCILogoff($conn); ?>