oci_new_cursor

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_cursor — Alloue un nouveau curseur Oracle

Description

resource oci_new_cursor ( resource $connection )

Alloue un nouveau curseur Oracle sur la connexion spécifiée.

Liste de paramètres

connection

Un identifiant de connexion Oracle, retourné par la fonction oci_connect() ou la fonction oci_pconnect() .

Valeurs de retour

Retourne un nouveau gestionnaire de connexion, ou FALSE si une erreur survient.

Exemples

Exemple 1815. Utiliser un REF CURSOR issu d'une procédure enregistrée

<?php
// supposons que votre procédure stockée info.output retourne un curseur de référence dans :data

$conn  oci_connect ( "scott" "tiger" );
$curs  oci_new_cursor ( $conn );
$stmt  oci_parse ( $conn "begin info.output(:data); end;" );

oci_bind_by_name ( $stmt "data" $curs , - 1 OCI_B_CURSOR );
oci_execute ( $stmt );
oci_execute ( $curs );

while (
$data  oci_fetch_row ( $curs )) {
    
var_dump ( $data );
}

oci_free_statement ( $stmt );
oci_free_statement ( $curs );
oci_close ( $conn );
?>

Exemple 1816. Utiliser un REF CURSOR issu d'une commande SELECT

<?php
echo  "<html><body>" ;
$conn  oci_connect ( "scott" "tiger" );
$count_cursor  "CURSOR(select count(empno) num_emps from emp "  .
                
"where emp.deptno = dept.deptno) as EMPCNT from dept" ;
$stmt  oci_parse ( $conn "select deptno,dname,$count_cursor" );

oci_execute ( $stmt );
echo 
"<table border=\"1\">" ;
echo 
"<tr>" ;
echo 
"<th>DEPT NAME</th>" ;
echo 
"<th>DEPT #</th>" ;
echo 
"<th># EMPLOYEES</th>" ;
echo 
"</tr>" ;

while (
$data  oci_fetch_assoc ( $stmt )) {
    echo 
"<tr>" ;
    
$dname   $data [ "DNAME" ];
    
$deptno  $data [ "DEPTNO" ];
    echo 
"<td>$dname</td>" ;
    echo 
"<td>$deptno</td>" ;
    
oci_execute ( $data [ "EMPCNT" ]);
    while (
$subdata  oci_fetch_assoc ( $data [ "EMPCNT" ])) {
        
$num_emps  $subdata [ "NUM_EMPS" ];
        echo  
"<td>$num_emps</td>" ;
    }
    echo 
"</tr>" ;
}
echo 
"</table>" ;
echo 
"</body></html>" ;
oci_free_statement ( $stmt );
oci_close ( $conn );
?>

Notes

Note: Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinewcursor() . Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_collection() , pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.