Matheus Cucoloto escreveu:
> Olá,
> existiu a necessidade de eu fazer um select em um insert.
> poderia resolver fazendo este insert
>
> insert into tb_proxy_filtros (cod_proxy_filtros, cod_proxy_grupos,
> cod_proxy_filtros_cat, desc_proxy_filtros)
> VALUES (nextval('sq_proxy_filtros'), 1, 3,(select
> desc_proxy_filtros_padroes from tb_proxy_filtros_padroes WHERE
> cod_proxy_filtros_cat = 3))
>
> só que neste caso o select vai retornar varias linhas eu pensei em
> fazer o select e depois um for ou while, tem como fazer isso em uma
> função ou trigger??? como q é a sintax?
>
Sim.
Dentre as linguagens que você pode escolher para escrever sua função vou
presumir a utilização da PL/pgSQL.
http://www.postgresql.org/docs/8.1/interactive/plpgsql.html
Você vai utilizar um FOR:
http://www.postgresql.org/docs/8.1/interactive/plpgsql-control-structures.html#PLPGSQL-RECORDS-ITERATING
e a execução de comandos dinâmicos:
http://www.postgresql.org/docs/8.1/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
Veja os exemplos no manual.
[]s
Osvaldo
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios