Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2008, 16:47
davydky
 
Fecha de Ingreso: agosto-2008
Mensajes: 28
Antigüedad: 16 años, 3 meses
Puntos: 0
Procedimientos..

Hola compañeros mientras me estaba adentrado mas y mas en el manejo del PostgreSQL me encontre con un inconveniente..

Basicamente tengo unos procedimientos almacenados con parametros de entrada y salida tipo:

Código:
CREATE OR REPLACE FUNCTION consulta_parametros(IN float8, IN float8, OUT out_propietario "varchar", OUT out_tipo "varchar", OUT out_unidad "varchar") AS.......
bueno lo que sucede es que cuando accedo desde php a este procedimiento, el resultado es una sola cadena y no un registro como es comun.. x ejemplo:

Código:
SELECT 	(consulta_parametros('$posx','$posy')) 
$resultado=pg_query($conn,$sql);
$final=pg_fetch_array($resultado,0);
$respuesta_propietario=$final['out_propietario'];
Entonces en $respuesta_propietario no tengo nada pero si uso:
$respuesta_propietario=$final[0,1,etc];
Comienzo a obtener los primeros caracteres de las cadenas el lugar de la columna correspondiente..

Probablemente el problema este en el uso del pg_fetch_array o pg_fetch_result que tambien lo he probado pero no he conseguido solucionar este problema..

En vista de esto al momento he aplicado esta solucion que no precisamente es lo mas optimo pero me sirve para el apuro:


Código:
	
SELECT 	(consulta_parametros('$posx','$posy')).out_propietario,
		(consulta_parametros('$posx','$posy')).out_tipo,
		(consulta_parametros('$posx','$posy')).out_unidad



Bueno espero de su ayuda..

Saludos!!