Pessoal,
vamos lá. Dado o seguinte trecho hipotético de código:
CREATE OR REPLACE FUNCTION ativo(integer,character(2),integer) RETURNS
integer CALLED ON NULL INPUT AS $$
DECLARE
conta_id alias for $1;
conta_alias for $2;
conta_detalhe alias for $3;
retorno integer;
BEGIN
EXECUTE 'SELECT nextval(''conta_conta_id_seq''::text)' retorno;
EXECUTE 'INSERT INTO conta
VALUES('||retorno||','''||conta_alias||''','||conta_detalhe||',current_timestamp,NULL,''1'',NULL)';
RETURN retorno;
EXCEPTION
WHEN SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION THEN
RETURN 'SYNTAX ERROR OR ACCESS RULE VIOLATION';
END;
$ LANGUAGE plpgsql;
A questão é a segunte, eu posso ter a segunte entreda: select
ativo(1451,'LU',NULL) e é esse último null que tá me dando trabalho pois o
EXECUTE não reconhece quando é null e ai ja viu, meu insert fica incompleto.
Não to conseguindo colocar NULL no lugar da variavel conta_detalhe. Dando o
seguinte código de erro:
ERRO: cannot EXECUTE a null querystring
CONTEXTO: PL/pgSQL function "ativo" line xx at EXECUTE statement
Se alguem tiver alguma dica, valeu...
--
________________________
Prof Luciano Schardosim
Mobile 51 9603.2608
Email [email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral