Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Ricardo Frydman Eureka!Date: 2006-06-29 12:45:17
Subject: Re: psql en cosola linux.
Previous:From: Alvaro HerreraDate: 2006-06-29 12:43:13
Subject: Re: psql en cosola linux.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group