Jota

Funcionou legal, muito obrigado pela ajuda.





Em 19 de março de 2010 10:39, JotaComm <[email protected]> escreveu:

> 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
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a