Desejo criar uma função Pl/PgSQL que me retorne se um valor existe para um
determinado campo do tipo INTEGER de uma tabela. Entretanto, o nome da
tabela e o nome do campo serão passados como parâmetro da função. Algo como:
CREATE OR REPLACE FUNCTION f_valor_existe( VARCHAR, VARCHAR, INTEGER )
RETURNS BOOLEAN AS
$f_valor_existe$
DECLARE
cNomeTabela ALIAS FOR $1;
cNomeColuna ALIAS FOR $2;
iValor ALIAS FOR $3;
BEGIN
-- E aqui, o que fazer???
-- SELECT cNomeColuna FROM cNomeTabela WHERE cNomeColuna = iValor;
IF FOUND THEN
return true;
END IF;
RETURN false;
END;
$f_valor_existe$
LANGUAGE 'plpgsql' VOLATILE;
---
Pergunta:
Há como executar um SQL SELECT de forma dinâmica dentro da função que possa
retornar um valor?
--
**********************************************
Tiago J. Adami
http://www.adamiworks.com
**********************************************
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral