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);
?>