From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Jorge Martinez <jlm4303(at)yahoo(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Parametros en Funciones |
Date: | 2006-06-29 12:44:58 |
Message-ID: | 20060629124458.GC1388@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jorge Martinez escribió:
> Algun dato o donde buscar informacion sobre el siguiente error:
>
> ERROR: syntax error at or near "$1" en el carácter 21
> QUERY: copy registem from $1 delimiters '|'
> CONTEXT: SQL statement in PL/PgSQL function "tomodat" near line 5
No puedes usar una variable en esa posicion de la consulta. Si quieres
construir una consulta que te permita reemplazar el nombre de la tabla,
tienes que construirla como string y luego invocar EXECUTE.
> CREATE OR REPLACE FUNCTION tomodat("char")
> RETURNS bool AS
> $BODY$
> DECLARE
> pp_lug ALIAS FOR $1;
> BEGIN
> delete from registem;
> copy registem from pp_lug delimiters '|';
> return true;
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION tomorel("char") OWNER TO postgres;
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Ricardo Frydman Eureka! | 2006-06-29 12:45:17 | Re: psql en cosola linux. |
Previous Message | Alvaro Herrera | 2006-06-29 12:43:13 | Re: psql en cosola linux. |