Cita:
Iniciado por drako_darpan Modifique tu query y funciona asi:
Código PostgreSQL:
Ver originalCREATE OR REPLACE FUNCTION procesa_trama_v2(hilera_entrada character varying)
RETURNS INT4 AS
$BODY$
DECLARE
nLongitud INT4;
BEGIN
nLongitud := 0;
nLongitud = length(Hilera_Entrada);
RETURN nLongitud;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
--Cualquiera de las dos funciones sirve.
select procesa_trama_v2 ('hola soy una cadena');
select * FROM procesa_trama_v2 ('hola soy una cadena');
Gracias Drako, me puse a investigar un poco y logré algo como esto:
Código:
CREATE OR REPLACE FUNCTION procesa_trama_ve(IN hilera_entrada text, IN hilera_salida text, IN longitud_hilera_salida integer)
RETURNS TABLE(hilera_salida_s text, longitud_hilera_salida_s integer) AS
$BODY$
BEGIN
hilera_salida:= hilera_entrada;
longitud_hilera_salida:= LENGTH(hilera_entrada);
-- @todo hide password
RETURN QUERY
SELECT hilera_salida, longitud_hilera_salida;
END;
$BODY$
LANGUAGE plpgsql VOLATILE STRICT SECURITY DEFINER
COST 100
ROWS 1000;
ALTER FUNCTION procesa_trama_ve(text, text, integer)
OWNER TO postgres;
Todo bien con la funcion, pero lo que quiero es que la salida de la consulta me la muestre en columna independientes, en ves de eso si corro la función me muestra algo como esto:
Código:
Select procesa_trama_v3('Hola','',0)
(Hola,4)
Y no me sirve, ya que hice las pruebas con un textbox en vvb.net 2005 y el dataset solo me devuelve una columna, esta: "(Hola,4)"
Es posible generar el resultado de la función en columnas independientes, o hay que realizar algún tipo de conversión con un programa adicional?
Gracias por leer¡
¡Saludos!