Olá

tenta forçar com CAST
as chamada:

select banco_manutencao(1,CAST('201' AS VARCHAR(3)),CAST('A' AS
VARCHAR(1)),0,'teste');



Em 4 de abril de 2012 13:32, Marcelo Florindo
<[email protected]>escreveu:

> Colegas,
>
> Eu tenho a seguinte procedure:
>
> CREATE OR REPLACE FUNCTION public.banco_manutencao (
>  _id_banco smallint,
>  _numero_banco varchar,
>  _situacao char,
>  _id_usuario_atualizador smallint,
>  _conta_contabil varchar,
>  _acao char
> )
> RETURNS void AS
> $body$
> declare
> v_qtide integer;
>
> begin
>
> if (_acao="I" or _acao="U") then
>
>    if _numero_banco is null then
>        raise exception 'O número de banco é um campo obrigatório';
>    end if;
>
>    select count(*) into v_qtide from banco
>    where numero_banco = _numero_banco and id_banco <> _id_banco;
>
>    if v_qtide>0 then
>        raise exception 'Número de banco já existente no sistema';
>    end if;
>
>
>    select count(*) into v_qtide from banco
>    where conta_contabil = _conta_contabil and id_banco<> _id_banco;
>
>    if v_qtide >0 then
>        raise exception 'Conta contábil já registrada no sistema';
>        end if;
>
>    if _acao='I' then
>        INSERT INTO
>                        banco
>                        (
>                                id_banco,
>                                numero_banco,
>                                situacao,
>                                id_usuario_gerador,
>                                id_usuario_atualizador,
>                                data_inclusao,
>                                data_ultima_atualizacao,
>                                conta_contabil
>                        )
>                        VALUES (_id_banco,
>                        _numero_banco,
>                   'A',
>                    _id_usuario_atualizador,
>                    _id_usuario_atualizador,
>                                        CURRENT_TIMESTAMP,
>                    CURRENT_TIMESTAMP,
>                    _conta_contabil);
>    end if;
>
>
>
> end if;
>
> end;
> $body$
> LANGUAGE 'plpgsql'
> VOLATILE
> CALLED ON NULL INPUT
> SECURITY INVOKER
> COST 100;
>
> AO EXECUTAR :  select banco_manutencao(1,'201','A',0,'teste');
>
> APRESENTA O ERRO:
> ERRO:  função banco_manutencao(integer, unknown, unknown, integer,
> unknown) não existe
> LINE 1: select banco_manutencao(1,'201','A',0,'teste');
>
> Alguma ideia colegas?
>
> Muito obrigado o todos,
> --
> Marcelo
>
> ---------------------------------------------------------------------------------
> Desenvolvedor/Analista
> Sites e Sistemas
>
> ---------------------------------------------------------------------------------
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
*Atenciosamente*
*
*
*Rodrigo Della Justina*
*[email protected]*
*[email protected]*
Telp: 55-46-8801-6165

*IBM DB2 Certified Database Academic*
*
*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a