Los parámetros se crean como $1, $2, ...
Luego en vez de devolver una cadena, devuelve un booleano diciendo si puede acceder o no.
Para saber si una sentencia sql ha tenido exito puede utilizar la variable FOUND que te indica con true si ha habido mínimo un resultado o false en caso contrario (tienes que utilizar el SELECT ... INTO, que asigna el primer resultado de la consulta a la variable).
Código SQL:
Ver originalCREATE FUNCTION f_verificar_acceso(CHARACTER VARYING, CHARACTER VARYING)
RETURNS BOOLEAN AS
$BODY$
DECLARE
resultado CHARACTER VARYING;
BEGIN
SELECT nom_usu INTO resultado FROM usuarios WHERE nom_usu = $1 pas_usu = $2
IF FOUND THEN
RETURN TRUE;
ELSE RETURN FALSE;
END IF;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION f_verificar_acceso(CHARACTER VARYING, CHARACTER VARYING) OWNER TO hpartidas;
Hay más información en la documentación oficial de Postgres.