PDA

Ver la Versión Completa : devolver cadena de texto


banthas
07-12-2015, 16:20:33
Buenos dias a todos queria preguntar como hago para devolver un mensaje como resultado de una consulta sql?

Tengo un parametro que envio a una funcion si este es un guion (-) entonces quiero que me devuelva algo asi como "Todas las metas" caso contrario que devuelva los valores

Aca dejo el codigo

CREATE OR REPLACE FUNCTION metas(
IN meta character varying,
$BODY$

DECLARE
var record;
sql text;
m int;
BEGIN
sql := 'SELECT m.meta meta
FROM oper_stat d
inner join meta m on d.meta=m.id_meta
WHERE 1=1 ';
IF meta <>'-' THEN sql := sql || ' AND d.meta in('||meta||')'; ELSE m=1; END IF;
sql:=sql || 'GROUP BY m.meta';

if(m==1)

then

else
for var in execute sql loop
metas:=var.meta;
return next;
end loop;
end;
end if
$BODY$
LANGUAGE plpgsql VOLATILE



Gracias por su tiempo

movorack
07-12-2015, 20:25:29
Hola,

Básicamente debes establecer el tipo de datos a devolver por la función y asignar el valor dentro de la misma función.


http://www.postgresql.org/docs/9.1/static/sql-createfunction.html


CREATE FUNCTION check_password(uname TEXT, pass TEXT)
RETURNS BOOLEAN AS $$
DECLARE passed BOOLEAN;
BEGIN
SELECT (pwd = $2) INTO passed
FROM pwds
WHERE username = $1;

RETURN passed;
END;
$$ LANGUAGE plpgsql
SECURITY DEFINER
-- Set a secure search_path: trusted schema(s), then 'pg_temp'.
SET search_path = admin, pg_temp;