[pgsql-jp: 26097] Re: \i によるインポートで文字列リテラルのエスケープが正常に解釈されない

chi Chihiro_Kuraya @ virtems.com
2002年 5月 23日 (木) 22:12:11 JST


こんにちは、倉谷です。
ALIHALA 様、お返事ありがとうございます。


> > このように INSERT 文が1万行ほど書かれたテキストファイルがあります。
> 
>  psql で \i でインポートするなら、INSERT INTO を1万行も並べるのは
> あまり効率良くないですよ。

ええ、そうなのですが、1万行程度の SQL 文でも、
数秒程度でインポートが完了するようですので、
今回は特に高速化は考慮しなかったというのが現状でした。



> > 該当する 8437行目以下は次のようになっております。
> > -----------------------------------------------------------------------
> > INSERT INTO project_bill ( project, id, content, amount, unit, unit_price )
> > VALUES ( '2000-10-01-01',1,'Page layout at \\850/page(hoge)',10,'ページ',850);
> > INSERT INTO project_bill ( project, id, content, amount, unit, unit_price )
> > VALUES ( '2000-10-01-01',2,'Page layout at \\800/page(foo)',200,'ページ',800);
> > -----------------------------------------------------------------------
> 
> > どうも、文字列リテラル中の \\ が円マークとして解釈されていないようなのですが、
> > どうしてなのでしょうかね。PostgreSQL の仕様どおりの書き方をしているはずなのですが。。。
> 
>  これは、SQL 自体は見た目問題なさそうですが、psql で \i コマンドで
> 処理しても問題ないかはちょっと…。
>  それよりも、ちょっと手間ですが前述の方法に変えた方が良いと思います。

そうですね。
INSERT 文でうまくいかない場合は、次善の策として試してみようと思います
アドバイスありがとうございました。


---
倉谷智尋 <Chihiro_Kuraya @ virtems.com>



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