[pgsql-jp: 27947] Re: view/rule/insert

Jun Kitamura kitamura @ zoozee.jp
2002年 11月 12日 (火) 14:45:14 JST


北村@zoozee です。

> 実際に作ってるものは、4つくらいの外部参照があって、
> それをviewにくるんでいるので、すべての外部参照先に対する
> 「あればselect、なければinsertしてselect」というのを、
> viewに対する一つのinsert(のdo〜句)ににおいて
> implicitに呼び出したいのですが。
> 
> そーゆーときはこーやるもんだ、みたいなセオリーがありましたら、
> どなたかお教えくださると助かります。
> 
> あと、質問の意味が分からなかったらご指摘いただけると幸いです。

チャチャっぽいんですが、我慢してください。:-)
そもそも、参照先にソレが無ければダメだ、という制約のために外
部参照キー付けてるんですよね?(やろうとしてることが矛盾して
ない?)

t1 の BEFORE トリガで、INSERT する前に c1 をチェックして、無
ければトリガ内で(c1に) INSERT をしてしまえば良いのでは?
これなら、外部参照制約をつけたままでも OK かもしれません。
VIEW に対するルールよりも、t1 に対するトリガ(ルールでもでき
るかも)で対処すべき問題のような気がします。

ではでは。





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