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
