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