[pgsql-jp: 31612] Re: Oracleとの更新処理の違い

takada @ lifedesign.co.jp takada @ lifedesign.co.jp
2003年 11月 27日 (木) 08:33:05 JST


こんにちは。高田です。
岡部さん、石田さん、コメントありがとうございます。

OracleではPrepareとExecuteが分かれていて
PostgreSQLでは(基本的には?)分かれていない
ので、戸惑ってしまった、という感じだと思います。

Oracleを使ってると、なんとなく毎回SQL文を発行するの
は罪悪のような気がして。たいした処理でもないんです
けどね^^;SQL文を毎回発行するのは普通、ということが
わかったのでとても参考になりました。ありがとうござ
いました。

ついでにもうひとつ教えてください。

PHP+Oracleの場合、結果セットを一気に連想配列に読み込んで
後はforeach(array as $key => $value) で処理します。
ところがPHP+PostgreSQLの場合、結果セットを一気に配列に
読み込むpg_fetch_allは、foreachでは処理しにくい連想配列に
結果セットを入れてしまいます。
またPostgrteSQLでは結果セットを任意の行を処理できることは
とても便利ですが、Oracelではこのようなことはできません。

このように見ていると、

 Oracleでは結果セットをすべて読み込んでしまって、PHP側で各種の
 処理をする(DBはデータを読み書きするときにだけ使う)
 PostgreSQLでは結果セットの必要な部分だけ読み込んで処理する
 (DBを自分の変数のように使ってもいい・・?)

のがそれぞれ普通という風に考えていいのでしょか。

ところで、ついでのついでで申し訳ないのですが、
PHPのPostgreSQL関数でpg_selectとかpg_updateとか
って皆さん、使われているのですか?




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