Re: How to process inverted comma in "EXECUTE 'insert into xxx values(...)'; "?

From: Rodrigo De León <rdeleonp(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Cc: "Nemo Terry" <ntuser155(at)hotmail(dot)com>
Subject: Re: How to process inverted comma in "EXECUTE 'insert into xxx values(...)'; "?
Date: 2007-05-15 06:25:25
Message-ID: a55915760705142325u33359969wef53e8bd20bdbc11@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 5/14/07, Nemo Terry <ntuser155(at)hotmail(dot)com> wrote:
> Look at this problem:
> when
> execute 'insert into lse_installations values(' || ''''||obj_id||'''' || ',' || ''''||div||'''' || ',' || ''''||sub||'''' || ',' || ''''||obj_type||'''' || ',' || ''''||obj_name||'''' || ',' || ''''||pstcd||'''' || ',' || ''''||rdcd||'''' || ',' || ''''||blkno||'''' || ',' || ''''||vldunt||'''' || ','|| cenlat || ',' || cenlon || ')';
> because obj_name from another table has value like this:S'pore High Polymer.
> Following error raises:
> ERROR: syntax error at or near "pore"
> SQL state: 42601
> Context: PL/pgSQL function "lse_installations" line 64 at execute statement
>
> So how to process the single inverted comma in char variable?It makes me so desperate.

Why are you EXECUTEing the INSERT command? It's directly supported in
plpgsql, since it is a superset of SQL. That is, you can do:

INSERT INTO lse_installations
VALUES (obj_id, div, sub, obj_type, obj_name, pstcd, rdcd, blkno, vldunt
, cenlat, cenlon);

Good luck.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Nemo Terry 2007-05-15 06:50:17 Re: How to process inverted comma in "EXECUTE 'insert into xxx values(...)
Previous Message Nemo Terry 2007-05-15 04:51:17 How to process inverted comma in "EXECUTE 'insert into xxx values(...)'; "?