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

Responder a