Re: Parametros en Funciones

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.

In response to

Browse pgsql-es-ayuda by date

  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.