[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 メーリングリストの案内