2015-02-19 12:09 GMT-02:00 Matheus Saraiva <[email protected]>:

> Estou fazendo uma função para inserir itens em uma determinada tabela.
> Minha ideia é uma função que receba uma lista de registros e grave todos
> eles. Dessa forma evitaria várias chamadas à função para realizar as
> gravações.
> Teoricamente, a função deveria receber um parâmetro de um tipo de lista,
> um contêiner, com todos os registos a serem gravados. A função então
> através de um FOR percorreria a lista gravaria todos os registros na
> tabela um por um, sem a necessidade do usuários realizar uma chamada
> para cada registro.
> Isso é possível? Como ficaria?
>


Você pode passar os elementos num array, ou usar uma estrutura mais
dinâmica como hstore ou json/jsonb.

Tem como você apresentar como está essa função? Em geral eu diria pra
evitar isso, melhor usar um INSERT ou COPY diretamente. Mesmo dentro da
função, pode ser melhor evitar o FOR e usar uma única instrução, se for um
array você pode fazer: INSERT INTO ... SELECT ... FROM unnest(array).

Tem algo a mais de especial dessa função ou é só pra encapsular o INSERT?

Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a