Blz, resolvido! Valeu! Em 26/08/2016 19:48, "Flavio Henrique Araque Gurgel" <[email protected]> escreveu:
> > > Em sex, 26 de ago de 2016 às 17:30, Bruno Felipe < > [email protected]> escreveu: > >> Boa tarde pessoal, estou executando uma função que percorre todas as >> tabelas filtrado por uma coluna especifica e depois atualiza a coluna por >> um valor rondando no laço de repetição. porém está dando um erro que não >> consigo identificar.... >> >> CREATE OR REPLACE FUNCTION alteraEmpresa () RETURNS void LANGUAGE >> 'plpgsql' AS $$ >> DECLARE >> >> tabela record ; >> BEGIN >> FOR tabela in SELECT table_name FROM information_schema.columns WHERE >> table_name in (select tablename from pg_tables where schemaname = 'public' >> order by 1) >> and column_name = 'IdEmpresa' order by 1 >> LOOP >> UPDATE tabela.table_name SET "IdEmpresa" = 1; >> END LOOP; >> >> END; >> $$ >> >> SELECT alteraEmpresa(); >> >> >> ERRO: esquema "tabela" não existe >> LINE 1: UPDATE tabela.table_name SET "IdEmpresa" = 1 >> ^ >> QUERY: UPDATE tabela.table_name SET "IdEmpresa" = 1 >> CONTEXT: PL/pgSQL function alteraempresa() line 10 at comando SQL >> >> >> >> como posso resolver? >> >> Você está tentando fazer um update dinâmico, use EXECUTE : > EXECUTE 'UPDATE ' || tabela.table_name || ' SET "idEmpresa" = 1' ; > > []s > Flavio Gurgel > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
