Olá, Em 19 de março de 2010 10:22, Tiago Valério <[email protected]>escreveu:
> Srs > > > Existe a possibilidade de se colocar o nome de tabela conforme o valor > atribuido a variavel. > > Conforme exemplo abaixo: > > > CREATE OR REPLACE FUNCTION gera_nome_tabela() > RETURNS boolean AS > $BODY$ > > DECLARE > v_nome_da_tabela character varying (10); > BEGIN > > select extract (day from current_date) ||'_'|| extract (month from > current_date)||'_'|| extract (hour from current_timestamp) INTO > v_nome_da_tabela; > > CREATE TABLE schema.v_nome_da_tabela AS > SELECT > * FROM tabela_2 ; > > > RETURN true; > EXCEPTION > WHEN OTHERS THEN RETURN false; > END; > $BODY$ > LANGUAGE 'plpgsql' VOLATILE > COST 100; > > Desde ja obrigado. > Segue aqui um pequeno exemplo de como fazer: CREATE OR REPLACE FUNCTION nome_de_tabela() RETURNS BOOLEAN AS $$ DECLARE v_nome VARCHAR(100); BEGIN SELECT extract(DAY FROM current_date)||'_'||extract(MONTH FROM current_date) INTO v_nome; RAISE NOTICE '%',v_nome; EXECUTE 'CREATE TABLE ' || quote_ident(v_nome) ||'(codigo INTEGER,nome VARCHAR)'; RETURN TRUE; END; $$ LANGUAGE PLPGSQL; Agora é só adaptar para a sua necessidade. > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
