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

Responder a