Llamada a PA Oracle

lailuluelo
06 de Diciembre del 2005
Hola,

Tengo la necesidad de llamar a un PA(funcion) Oracle pasandole un parametro y devolviendome esta otros. Por la información que he ido recogiendo parece ser que tengo que hacer la llamada como si se tratara de una select normal y corriente pero la verdad es que he hecho pruebas y no me funciona.

Os paso un código aquí simplificado del que me sirvo para lanzar select y recoger valores de la primera fila:

Código PHP:
<?
#Parámetros de conexión
include("includes/db/DB.php");

$query="select * from COMERCIOS where id=loquesea";

if ( $oracle->execute_query($query) > 0 )
{
$oracle->db_record_set = array();
if (ora_fetch_into($oracle->db_cursor, $oracle->db_record_set, ORA_FETCHINTO_NULLS | ORA_FETCHINTO_ASSOC))
{
$comercio=$oracle->db_record_set['IDARTICULO'];
echo "Comercio: " . $comercio;
}
}

?>


Tengo una función en la BD Oracle que hace exactamente lo mismo y trato de llamarla como si fuera una sentencia SQL y no me es posible.

La función es algo como DAMECOMERCIO con una parametro de entrada y un parametro de salida.

He tratado hacer algo como:

Código PHP:
<?
#Parámetros de conexión
include("includes/db/DB.php");

$id="loquesea";

$query="DAMECOMERCIO(" . $id . ")";

if ( $oracle->execute_query($query) > 0 )
{
$oracle->db_record_set = array();
if (ora_fetch_into($oracle->db_cursor, $oracle->db_record_set, ORA_FETCHINTO_NULLS | ORA_FETCHINTO_ASSOC))
{
$comercio=$oracle->db_record_set['parametro_de_salida'];
echo "Comercio: " . $parametro_de_salida;
}
}

?>


Y no me funciona. Tb he probado con exec antes del PA y tampoco.

Ando un poco perdido, ¿me pueden ayudar?

Muchas gracias