> Eu quero na verdade cadastrar tudo de uma vez, cadastrar a feira, e > depois os feirantes para a feira cadastrada anteriormente, mas isto eu > quero fazer dentro de um único procedimento, claro se for possível. É > que o exemplo é bem maior, vou ter que fazer o cadastro numas 6 > tabelas, todas dependendo da feira, por isto pode esquecer por > enquanto o cliente. > > Atenciosamente, > > Guilherme de Carvalho Carneiro > Analista de sistemas > DTI | Prefeitura Municipal de Palmas > > > > > 2009/12/17 Osvaldo Kussama <osvaldo.kuss...@gmail.com>: >> 2009/12/17 Guilherme Carvalho <desenvolvedor....@gmail.com>: >>> Seria algo assim: >>> >>> Select from procedureInsercao(titulofeira, datafeira, listaFeirantes); >>> >>> listaFeirante seria uma lista/tupla/array, ou qualquer estrutura que >>> pudesse enviar a lista de feirantes que fazem parte desta feira. >>> listaFeirante = (feirante1, feirante2, feirante3, feirante4, >>> feirante5) >>> >> >> >> O que você deseja cadastrar? >> Os feirantes já estão previamente cadastrados e você quer apenas >> registrar o relacionamento feira <-> feirante? Ou você também deseja >> cadastrar cada feirante? >> E sobre "clientes", que constava de seu post inicial, o que você deseja? >> >> Osvaldo >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
Existem outras maneiras... -- Chamada: SELECT procedureInsercao('teste',CURRENT_DATE,'{NOME1,NOME2,NOME3,NOME4}'); CREATE OR REPLACE FUNCTION procedureInsercao( ptitulofeira VARCHAR, pdatafeira DATE, plistafeirantes VARCHAR[]) RETURNS VOID AS $$ BEGIN FOR i IN 1..ARRAY_UPPER(plistafeirantes,1) LOOP RAISE INFO 'pListafeirantes[%] = %',i,plistafeirantes[i]; --INSERT INTO tabela (titulofeira,datafeira,listafeirantes) --VALUES (ptitulofeira,pdatafeira,plistafeirantes[i]); END LOOP; END; $$ LANGUAGE plpgsql; _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral