Fellipe Henrique escreveu:
> Pessoal, estou passando minha base de Firebird pro Postgre, e estou 
> tentando criar uma função.. coloquei o seguinte:
> 
> /* E verificado a existência de pendências no contador, caso encontre 
> continua */
>   if (exists( select 1 from sys_seq_pend
>                   where seq_tabela = lower(i_tabela)
>                    and seq_campo = lower(i_campo))) then
> 
>    /* aqui e recuperado a seqüência perdida, armazenada no banco de dados */
>     select seq_valor from sys_seq_pend
>     where seq_tabela = lower(i_tabela)
>       and seq_campo = lower(i_campo)
>     order by seq_valor desc /* pegaremos do maior para o menor */
>     into id_sequencia;

Não pode existir mais de um seq_valor nestas condições? Não seria 
melhor colocar um LIMIT 1 ou, melhor ainda, um max(seq_valor)?


> 
>     return = id_sequencia;

Bom, aqui tem um erro, deveria ser:
        RETURN id_sequencia;


>   end
> 
> Na hora de compilar dá o seguinte erro:
> 
> ERROR:  syntax error at or near "=" at character 9
> QUERY:  SELECT  =  $1
> CONTEXT:  SQL statement in PL/PgSQL function "f_retornaid" near line 37
> 
> Bom, como sou iniciante, o que está de errado nisso aí?
> 

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a