[pgsql-jp: 27392] Re: 一時テーブルの有無を調べる方法は?
SAKANAKA Tatsumi
sakanaka @ tokyo-gas.co.jp
2002年 9月 12日 (木) 13:42:15 JST
さかなかです。高田さん、ありがとうございます。
On Thu, 12 Sep 2002 13:09:52 +0900
In the message "[pgsql-jp: 27391] Re: 一時テーブルの有無を調べる方法は?"
<20020912040952.GA1481%takada @ rh.xdsl.ne.jp>
Hiroki Takada <takada @ rh.xdsl.ne.jp> さん wrote:
> 複数のプロセスがその処理を同時に行うのでしょうか?
これはありません。ですので、
> バックエンドとの接続を毎回行うという前堤(複数のプロセス
> で接続を使いまわししないという前堤)であれば,
と言う前提なのですが...
> CREATE LOCAL TEMP TABLE テーブル名;
これを、同一セッションで(テーブル名を変えずに)複数回やると、二
回目以降はエラーになりますよね。関数内で 'CREATE ...' したいので
二回以上 CREATE しないように「一度作った一時テーブルの有無の判定」
をしたいのです。
# 関数を呼んだときに、暗黙裡にエラーなく必要な一時テーブルを作る
# ようにしたいというのがおおもとです。セッションに局所的な永続テー
# ブル(形容矛盾ですが)が出来れば(爆)。
セッション開始時に「明示的に」セッションにローカルな一時テーブル
をつくるようにして、関数内部からは create table しない、という方
が、やはり、筋がいいんでしょうねぇ。
その方向で考えます。ありがとうございました。
# psql でやってる分にはいいけど、php とかでやるときには一時テー
# ブル作るのを忘れそうです(笑)。
--さかなか@「お約束」は少なければ少ない方がいいんだけど
pgsql-jp メーリングリストの案内