Re: help with dynamic table name - Mailing list pgsql-novice

From Jasbinder Singh Bali
Subject Re: help with dynamic table name
Date
Msg-id a47902760703052048w5cd35326g95f84d41ea2023c7@mail.gmail.com
Whole thread Raw
In response to Re: help with dynamic table name  ("Peter Schonefeld" <peter.schonefeld@gmail.com>)
List pgsql-novice
sql := 'INSERT INTO '+ $3 +' (id,body) VALUES ('+ $1 +','+ $2 +')';
remove the double quotes with id and body and see if it works.
~Jas
 


On 3/5/07, Peter Schonefeld <peter.schonefeld@gmail.com> wrote:
Hi Jas, thanks for the quick reply...I had started out with the single quotes, but had chaged it in my many efforts to get the thing to work...with the single quotes i'm getting the error:

"ERROR: 42883: operator does not exist: \"unknown\" + character varying"

====

CREATE OR REPLACE FUNCTION sc_insert_row(char(32),text
,varchar(32)) RETURNS text AS $$

DECLARE sql text;
BEGIN
  sql := 'INSERT INTO '+ $3 +' ("id","body") VALUES ('+ $1 +','+ $2 +')';
  EXECUTE sql;
  RETURN '';
END;

$$ LANGUAGE 'plpgsql' VOLATILE;


Pete




On 3/6/07, Jasbinder Singh Bali <jsbali@gmail.com > wrote:
try replacing double quotes with single quotes and you should be fine i think
~Jas

 
On 3/5/07, Peter Schonefeld <peter.schonefeld@gmail.com > wrote:
Hi, could someone please let me know what i'm doing wrong here?

CREATE OR REPLACE FUNCTION sc_insert_row(char(32),text,varchar(32)) RETURNS text AS $$

DECLARE sql text;
BEGIN
  sql := "INSERT INTO "+ $3 +" ('id','body') VALUES ("+ $1 +","+ $2 +")";
  EXECUTE sql;
  RETURN '';
END;

$$ LANGUAGE 'plpgsql' VOLATILE;

I get the error: "ERROR: 42703: column \"INSERT INTO \" does not exist"

Cheers
Pete



pgsql-novice by date:

Previous
From: "Jasbinder Singh Bali"
Date:
Subject: Re: help with dynamic table name
Next
From: Tom Lane
Date:
Subject: Re: help with dynamic table name