Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie rufe ich ein Paket von PHP mit einer Prozedur in Oracle mit OCI-Treibern auf?

Soweit ich mich erinnere, müssen Sie type angeben und maxlength zu oci_bind_by_name() für Variablen, die von der Prozedur zurückgegeben werden.

Angenommen :r ist der OUT Variable, versuchen Sie:

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

Der folgende Code funktioniert für die Rückgabe eines Werts von einer Oracle-Prozedur (Zend_Db_Adapter_Oracle Fassung):

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