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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral