[pgsql-jp: 27668] Re: シングルクォートのエスケープについて

ISHIDA Akio iakio @ pjam.jpweb.net
2002年 10月 17日 (木) 21:10:57 JST


こんにちは。石田@苫小牧市と申します。

On Thu, Oct 17, 2002 at 06:41:36PM +0900, nitta wrote:
> 
> hogehoge( int2 )内で
> nJob USER_INFO.job%Type;
> nJob=$1;
> 
> とし、where句を
> szConditionSQL := '' ・・・(略)・・・AND d.job = ''||nJob;
> 
> としたとき、
> パラメータに1を与えたとき「1」ではなく「'1'」とするには
> どのようにすれば実現できるでしょうか。
> キャストなどいろいろ試してみたのですがうまくいきません。
> 上記のsql文でシングルクォートをエスケープする方法、
> もしくは他に解決方法があればご助言をいただければ幸いです。

動的に sql 文を作って EXECUTE する、ということであれば、
quote_literal(TEXT) を使うのではないでしょうか?
(試してませんが)

http://www.postgresql.jp/document/pg721doc/programmer/plpgsql-statements.html
の
23.5.4. 動的問い合わせの実行

あたりが参考になりそうです。
-- 
ISHIDA Akio




pgsql-jp メーリングリストの案内