Colegas,

Segue abaixo uma function que criei compila sem nenhum erro, mas quando vou usa-la apresenta a seguinte mensagem de erro :

---------------------- FUNCTION DE LOGIN
CREATE TYPE login_sistema as (loginseq_s integer, usuario_s varchar(20), gruposeq_s integer, grupo_s varchar(20));

CREATE OR REPLACE FUNCTION fnc_login ( e_login varchar(20), e_senha varchar(32) )
RETURNS
      SETOF
      login_sistema
AS
$body$
DECLARE reg login_sistema%ROWTYPE;
BEGIN
FOR REG IN SELECT usuarios.seq ,
                  usuarios.nome,
                  grupousuarios.seq,
                  grupousuarios.grupo
           FROM   usuarios
           LEFT OUTER JOIN
uniao_grupo_usuario ON uniao_grupo_usuario.codusuario=usuarios.seq
           LEFT OUTER JOIN
grupousuarios ON uniao_grupo_usuario.codgrupo=grupousuarios.seq
           WHERE
                  usuarios.login=$1 AND
                  usuarios.senha=md5($2)
           ORDER BY grupousuarios.seq,usuarios.seq
 LOOP
  REG.loginseq_s:=usuarios.seq;
  REG.usuario_s:=usuarios.nome;
  REG.gruposeq_s:=grupousuarios.seq;
  REG.grupo_s:=grupousuarios.grupo;
  RETURN NEXT REG;
 END LOOP;
RETURN NEXT REG;
RETURN;
END;
$body$
LANGUAGE 'plpgsql' ;



--------------------------------------------- MENSAGEM AO USAR O SELECT NA FUNCTION

ERROR:  missing FROM-clause entry for table "usuarios" at character 8
QUERY:  SELECT usuarios.seq
CONTEXT:  PL/pgSQL function "fnc_login" line 17 at assignment




Alguem poderia me ajudar?


Obrigado


Rubens

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a