Olá, Éder
Segue um pequeno exemplo:
CREATE OR REPLACE FUNCTION f_insere(INTEGER,VARCHAR)
RETURNS BOOLEAN AS $$
BEGIN
FOR i IN 1..$1 LOOP
EXECUTE 'INSERT INTO ' || $2 || ' VALUES
('||i||','||quote_literal('exemplo')||')';
RAISE NOTICE '%',i;
END LOOP;
RETURN TRUE;
END;
$$ LANGUAGE PLPGSQL;
Mas aproveitando eu queria entender a sua idéia de fazer:
NEW::nome_da_tabela?
NEW::tabela? Para mim isso não faz sentido visto que NEW significa a nova
tupla que você está inserindo, que você pode fazer NEW.* para pegar todas as
colunas ou NEW.coluna.
Em 6 de maio de 2011 10:21, Eder Sousa <[email protected]> escreveu:
> *Bom dia!!!*
>
> Estou criando uma trigger no postgresql 8.4.8 (windows), que em seu código
> executa a seguinte linha (comando):
>
> EXECUTE 'INSERT INTO ' || nome_tabela || ' VALUES( (' ||
> quote_literal(NEW) || '::' || nome_tabela || ').*)';
>
> Porém está retornando o erro abaixo:
>
> QUERY: SELECT STATEMENT 'INSERT INTO ' || $1 || ' VALUES( (' ||
> quote_literal( $2 ) || '::' || $1 || ').*)'
> CONTEXT: PL/pgSQL function "fun_tr_itemnf" line 85 at comando EXECUTE
>
> ********** Error **********
>
> ERRO: tipo "statement" não existe
> SQL state: 42704
> Context: PL/pgSQL function "fun_tr_itemnf" line 85 at comando EXECUTE
>
>
> Alguém pode me ajudar com o que acontece neste erro?
>
> Abraços!
> ________________________________
> Eder Sousa
> skype:softpira?chat
> edersousa-at-gmail.com
> gescla-postgresql-ubuntu-php
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Abraços
--
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral