Thread: Stored Procedure: Copy table from; path = text variable

Stored Procedure: Copy table from; path = text variable

From
Charles Pare
Date:
Hi, in a stored procedure, if I do
COPY table FROM 'mypath' DELIMITERS '\t'; it works but if my path is a text variable which contain my path, i.e.
COPY table FROM mytextvar DELIMITERS '\t'; it doesn't work, I get

ERROR: syntax error at or near "$1"
SQL state: 42601
Context: SQL statement in PL/PgSQL function "parseinsert" near line 15

Is there any workaround? I want to create a temporary table, copy from and parse the table, all with dynamic path depending of how the function is called.

Thank's
Charles


Explore the seven wonders of the world Learn more!

Re: Stored Procedure: Copy table from; path = text variable

From
Richard Huxton
Date:
Charles Pare wrote:
> Hi, in a stored procedure, if I do COPY table FROM 'mypath'
> DELIMITERS '\t'; it works but if my path is a text variable which
> contain my path, i.e.COPY table FROM mytextvar DELIMITERS '\t'; it
> doesn't work, I get ERROR: syntax error at or near "$1"SQL state:
> 42601Context: SQL statement in PL/PgSQL function "parseinsert" near
> line 15Is there any workaround? I want to create a temporary table,
> copy from and parse the table, all with dynamic path depending of how
> the function is called.Thank'sCharles

Try building your COPY as text and use EXECUTE.

--
   Richard Huxton
   Archonet Ltd