Re: Quotes in dynamic sql

From: "John Sidney-Woollett" <johnsw(at)wardbrook(dot)com>
To: "A E" <cooljoint(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Quotes in dynamic sql
Date: 2003-12-30 19:56:35
Message-ID: 4781.192.168.0.64.1072814195.squirrel@mercury.wardbrook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Shouldn't it be:

qry := 'SELECT * from '|| trim(realname) ||' where crmid like ''%'||
trim(crmid) ||'%''';

The contents of qry should be:

'SELECT * from blahblah where crmid like '%crmid%'

Your errors (I think) are here:

qry := ''SELECT * from ''|| trim(realname) ||'' where crmid like %''||
^1 ^1 ^1 ^2

trim(crmid) ||''%'';
^1 ^3

^1 = only need a single quote
^2 = the quotes are after the % when they should be before
^3 = you have a missing closing single quote

Of course, if the above is in a pl/sql procedure, then you'll need to
double up all the quotes (I think).

Hope that helps.

John Sidney-Woollett

A E said:
> Hi,
>
> I am trying to execute dynamic sql but I can't seem to get the qoutes
> right.
>
> My code is
>
> qry := ''SELECT * from ''|| trim(realname) ||'' where crmid like %''||
> trim(crmid) ||''%'';
>
> Can anyone help?
>
> Alex
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message A E 2003-12-30 20:11:59 Re: Quotes in dynamic sql
Previous Message Russ Schneider 2003-12-30 19:54:27 7.3 dump into 7.2 (my solution)