Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2014, 20:44
Gloton
 
Fecha de Ingreso: octubre-2006
Mensajes: 227
Antigüedad: 18 años
Puntos: 3
Pregunta Como llamar a un Procedimiento almacenado ORACLE

Una consulta

Cuando un procedimiento almacenado tiene por ejemplo 5 variables de entrada y 2 de salida (por dar un ejemplo) declaradas en ORACLE, ¿necesito llenar las 5 de entrada obligatoriamente?

Estoy ocupando oci8.

Código PHP:
$sql ' BEGIN ';
$sql .= '    mipackage.miprocedimientoalmacenado ( ';
$sql .= '        :var1_in,';
$sql .= '        :var2_in,';
$sql .= '        :var3_in,';
$sql .= '        :var4_in,';
$sql .= '        :var5_in,';
$sql .= '        :vardesalida1, ';
$sql .= '        :vardesalida2, ';
$sql .= '        :vardesalida3 ';
$sql .= '        );';
$sql .= ' END;';

$stmt oci_parse($conn$sql) or die("Error: Package 1");
//  llenando parametros de entrada
oci_bind_by_name($stmt,':var1_in',$var1_in,-1);
oci_bind_by_name($stmt,':var2_in',$var2_in,-1);
oci_bind_by_name($stmt,':var3_in',$var3_in,-1);
oci_bind_by_name($stmt,':var4_in',$var4_in,-1);
oci_bind_by_name($stmt,':var5_in',$var5_in,-1);

//llenando los parametros de salida
oci_bind_by_name($stmt,':p_id_solicitud',$vardesalida1,-1);
oci_bind_by_name($stmt,':p_id_solicitud',$vardesalida2,-1);
oci_bind_by_name($stmt,':p_id_solicitud',$vardesalida3,-1);

//llena las variables
$var1_in 123;
$var2_in 12345
$var3_in 23424;
$var4_in 34234;
$var5_in 'asdsad';

oci_execute($stmt);

print 
"$vardesalida2\n"