Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2005, 03:20
lailuluelo
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 20 años, 10 meses
Puntos: 0
Llamada a Procedimiento Almacenado Oracle

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) > )
{
$oracle->db_record_set = array();
if (
ora_fetch_into($oracle->db_cursor$oracle->db_record_setORA_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) > )
{
$oracle->db_record_set = array();
if (
ora_fetch_into($oracle->db_cursor$oracle->db_record_setORA_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
__________________
Lailuluelo
El error está en lo obvio