Olá Ana

Tente esta alteração.

P.S.: Não tive como testar aqui em neu serviço. Acho que irá precisar fazer 
conversão dos campos/parâmetros que não sejam dos tipos 
(String/Varchar/Text/Char) na concatenação da sua Query Dinâmica.

Abraços.

J.F.C.Junior

----------------------------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION
replace_into(VARCHAR(10),INT,TIMESTAMP,VARCHAR(64)) RETURNS bool AS $$
DECLARE tmprow RECORD;
table ALIAS FOR $1;
id ALIAS FOR $2;
data ALIAS FOR $3;
valor ALIAS FOR $4;
BEGIN
EXECUTE (' SELECT INTO tmprow * FROM ' || table || ' WHERE ' || ' i1 = ' || id 
|| ' AND i2 = ' || data);
IF FOUND THEN 
 EXECUTE(' UPDATE ' || table || ' SET s = ' || valor || ' WHERE i1 = ' || id || 
' AND i2 = ' || data);
 RETURN 'f';
END IF;
END;
$$ LANGUAGE plpgsql;
----------------------------------------------------------------------------------------------------

----- Mensagem original ----
De: ana_tf <[EMAIL PROTECTED]>
Para: [email protected]
Enviadas: Segunda-feira, 16 de Julho de 2007 12:25:19
Assunto: [pgbr-geral] Create Function - nome da tabela como parametro


Ola Pessoal..

Estou tentando fazer uma funcao que recebe 5 paramentros e um deles é o nome
da tabela.. porem nao esta funcionando:

codigo:

CREATE OR REPLACE FUNCTION
replace_into(VARCHAR(10),INT,TIMESTAMP,VARCHAR(64)) RETURNS bool AS $$
DECLARE tmprow RECORD;
table ALIAS FOR $1;
id ALIAS FOR $2;
data ALIAS FOR $3;
valor ALIAS FOR $4;
BEGIN
EXECUTE ('SELECT INTO tmprow * FROM '||table WHERE i1=id AND i2=data);
IF FOUND THEN 
 EXECUTE('UPDATE '||table SET s=valor WHERE i1=id AND i2=data);
 RETURN 'f';
END IF;
END;
$$ LANGUAGE plpgsql;


Alguem pode me ajudar??

Obrigada
-- 
View this message in context: 
http://www.nabble.com/Create-Function---nome-da-tabela-como-parametro-tf4088579.html#a11621312
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral







       
____________________________________________________________________________________
Novo Yahoo! Cadê? - Experimente uma nova busca.
http://yahoo.com.br/oqueeuganhocomisso 
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a