Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fabiapo

Erro na chamada de função

Recommended Posts

Pessoal,

 

Desenvolvi a seguinte função:

 

CREATE OR REPLACE FUNCTION ffp_busca_msg (var_erro in text) RETURNS text AS

$$

BEGIN

SELECT dsc_msg FROM tfs_mensagens

WHERE dsc_variavel_ref = var_erro

limit 1;

END;

$$

LANGUAGE 'plpgsql';

 

A minha tabela contém:

id_msg = integer

dsc_msg = varchar(500)

dsc_variavel_ref = varchar(50)

 

Porém, ao executar:

select ffp_busca_msg('login');

 

Dá a mensagem:

ERRO: query has no destination for result data

DICA: If you want to discard the results of a SELECT, use PERFORM instead.

CONTEXTO: PL/pgSQL function "ffp_busca_msg" line 2 at SQL statement

 

O que poderia ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fabiapo, sua função deve retornar algo. Deveria ficar assim:

 

CREATE OR REPLACE FUNCTION ffp_busca_msg (var_erro in text) RETURNS text AS
$$
VAR
   retorno text;
BEGIN
	SELECT dsc_msg IN retorno FROM tfs_mensagens
	WHERE dsc_variavel_ref = var_erro
		limit 1;

		return retorno;
END;

Acredito que você precisa de uma variável auxiliar pois você n pode fazer return (select ....)

 

Pessoal,

 

Desenvolvi a seguinte função:

 

CREATE OR REPLACE FUNCTION ffp_busca_msg (var_erro in text) RETURNS text AS

$$

BEGIN

SELECT dsc_msg FROM tfs_mensagens

WHERE dsc_variavel_ref = var_erro

limit 1;

END;

$$

LANGUAGE 'plpgsql';

 

A minha tabela contém:

id_msg = integer

dsc_msg = varchar(500)

dsc_variavel_ref = varchar(50)

 

Porém, ao executar:

select ffp_busca_msg('login');

 

Dá a mensagem:

ERRO: query has no destination for result data

DICA: If you want to discard the results of a SELECT, use PERFORM instead.

CONTEXTO: PL/pgSQL function "ffp_busca_msg" line 2 at SQL statement

 

O que poderia ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.