Srs,

Muito Obrigado,

Funcionou perfeitamente.

Sds.

Alípio Dantas

2009/12/16 JotaComm <[email protected]>

> Olá,
>
> 2009/12/16 Alipio Dantas <[email protected]>
>
>> Sr.
>>
>>
>> Costumo dar cargas em massa com o comando copy em algumas tabelas do banco
>> aqui,
>>
>> O problema é que as sequences não atualizam quando insiro dados desta
>> forma
>>
>>
>> então pensei em fazer uma trigger para fazer esta atualização....
>>
>>
>> Com o comando:
>>
>> SELECT setval('pac.pac_desembolso_obra_deob_id_seq', max(deob_id)) FROM
>> pac.pac_desembolso_obra;
>>
>> eu consigo fazer esta atualização, o problema é que não estou conseguindo
>> fazer isso a partir de uma trigger
>>
>>
>> fiz assim:
>>
>> create or replace function sequencia_desembolso_pac_embasa ()
>>     Returns trigger as  $$
>> begin
>>
>>  SELECT setval('pac.pac_desembolso_obra_deob_id_seq', max(deob_id)) FROM
>> pac.pac_desembolso_obra;
>>
>> end;
>>     $$ language PLPGSQL;
>>
>> ------------------------------------
>>
>> CREATE TRIGGER t_sequencia_desembolso_pac_embasa
>> BEFORE INSERT ON pac.pac_desembolso_obra FOR EACH ROW ---> para cada linha
>> FOR EACH STATEMENT -> para cada comando
>> EXECUTE PROCEDURE sequencia_desembolso_pac_embasa()
>>
>>
>>
>> ----------------------
>>
>> Quando executo acusa o seguinte erro:
>>
>> ERROR:  query has no destination for result data
>> HINT:  If you want to discard the results of a SELECT, use PERFORM
>> instead.
>> CONTEXT:  PL/pgSQL function "sequencia_desembolso_pac_embasa" line 3 at
>> SQL statement
>>
>>
>>
>> repare que ele pede para eu descartar o resultado do select, mas eu quero
>> executá-lo
>>
>> tentei colocoar o execute no lugar do select, e me acusou erro também.
>>
>>
>> Poderiam me indicar uma direção?
>>
>
> Nesta caso você pode usar o perform porque o retorno não será relevante
> para você e sim a operação de alteração do valor da sequence.
>
> Normalmente uso exemplos parecidos com esse nos treinamentos que ministro.
>
>>
>> obrigado a todos.
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a