[pgsql-jp: 27391] Re: 一時テーブルの有無を調べる方法は?
Hiroki Takada
takada @ rh.xdsl.ne.jp
2002年 9月 12日 (木) 13:09:52 JST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
高田と申します.
こんにちは.
> PL/pgSQL の関数内で「テーブルの有無を調べて、なければ CREATE す
> る」という処理をやりたく思っています。できれば一時テーブルで。
>
> 永続テーブルなら pg_tables を調べればいいのですが、一時テーブル
> の有無を判定する方法が分かりません。
複数のプロセスがその処理を同時に行うのでしょうか?
もしそうで,かつ,グローバルな(どの接続からも参照できる)
(一時)テーブルを定義するのであれば,仮に調べる方法が分っ
たとしても,クリティカルセクションが生じますので,セマ
フォを使うなどの工夫が必要になります.
バックエンドとの接続を毎回行うという前堤(複数のプロセス
で接続を使いまわししないという前堤)であれば,
CREATE LOCAL TEMP TABLE テーブル名;
で,その接続でしか参照できない,一時テーブルを作成する
ことはできます.
では.
- --
----------------------------------------------------
Hiroki Takada <takada @ rh.xdsl.ne.jp>
My public key is available at the public key
servers. The message was signed as iso-2022-jp
char-set document in no PGP/MINE (RFC 2015)
format.
----------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: KUHASIKU WA http://www.gnupg.org/ WO GORANKUDASAI
iD8DBQE9gBOOyTl8Jc+E3sERAjSlAKCQHhml4pVCOgHj7RLbZ2UD3t9CogCgitkp
ZceWiloEkiRkJKrG4mkM/L4=
=UFL8
-----END PGP SIGNATURE-----
pgsql-jp メーリングリストの案内