a syntaxe disso em plpgsql seria mais ou menos assim:
create or replace function( definir arqui os parametros) returns bool as $$
declare
-- declarar alguma variavel aqui
reg record; -- aqui tah um exemplo de variavel
begin
for reg in
select desc_proxy_filtros_padroes
from tb_proxy_filtros_padroes
WHERE cod_proxy_filtros_cat = 3
loop
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,
reg.desc_proxy_filtros_padroes);
end loop;
return true;
end;
$$ language 'plpgsql'
2006/11/10, Matheus Cucoloto <[EMAIL PROTECTED]>:
> Valeu, funcionou Perfeitamente!
>
> Em 10/11/06, Osvaldo Rosario Kussama<[EMAIL PROTECTED]> escreveu:
> > 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
> >
>
>
> --
>
> Matheus Cucoloto
> Administrador de Redes
> _______________________________________________
> 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
>
--
Nabucodonosor Coutinho
Database Administrator
Accu Hosting - www.accuhosting.com
_______________________________________________
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