Oracle
 sql >> Database >  >> RDS >> Oracle

Come chiamare il pacchetto da php con una procedura in Oracle usando i driver oci?

Per quanto mi ricordo devi specificare type e maxlength a oci_bind_by_name() per le variabili restituite dalla procedura.

Assumendo :r è il OUT variabile, prova:

oci_bind_by_name($stid, ":r", $r, 50, SQLT_CHR);

Il codice seguente funziona per restituire un valore da una procedura Oracle (Zend_Db_Adapter_Oracle versione):

$statement = $db->prepare('BEGIN oracle_procedure(:result); END;');
$statement->bindParam('result', $result, SQLT_CHR, 12);
$statement->execute();
echo $result;