[pgsql-jp: 27390] 一時テーブルの有無を調べる方法は?

SAKANAKA Tatsumi sakanaka @ tokyo-gas.co.jp
2002年 9月 12日 (木) 12:12:50 JST


さかなかと申します。

PL/pgSQL の関数内で「テーブルの有無を調べて、なければ CREATE す
る」という処理をやりたく思っています。できれば一時テーブルで。

永続テーブルなら pg_tables を調べればいいのですが、一時テーブル
の有無を判定する方法が分かりません。

たとえば 'CREATE TEMPORARY TABLE temp' すると pg_tables には
tablename が 'temp' であるような行はできません(pg_temp_???? な
のかな?)。
システムカタログを探してみましたが、うまく見つけられませんでした。

何か方法はあるでしょうか?

# あるいは、EXECUTE で query がエラーになったときに abort しない
# ようにする方法とか(確かこれはできなかったような...)。

よろしくお願いします。

--さかなか



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