2

Postgresを使用しています。開発の真っ最中です。テーブル ABC のレプリカを作成する必要があります。私はそれをXYZと名付けます。やってみcreate table XYZ () inherits(ABC)ました。問題なく動作しますが、XYZ に値を挿入すると、テーブル ABC にも (仮想的に) データが入力されます。このようなクエリを実行すると、値が重複しますselect * from ABC where id = 1。このようにクエリを実行すると、正しいレコードが取得されますselect * from only ABC where id = 1

これは、「のみ」を使いたくないということです。したがって、継承は必要ないと思います。ABCを変更(列を追加)するときに、XYZに列を自動的に追加する方法があるかどうかを尋ねたいだけですか?

ABC と XYZ の 2 つの変更クエリを作成したくありません。2 つのテーブルが常に同じ列を持つようにする必要があります。何か案が?

4

1 に答える 1

0

あなたが話している種類のトリガーは、一般に DDL トリガーとして知られています。PostgreSQL では、イベント トリガーと呼ばれます。alter tableただし、PostgreSQL イベント トリガーでステートメントを実行できるかどうかはわかりません。

ただし、これが本当にあなたが探しているソリューションであるとは確信していません。あなたはXY 問題の真っ只中にいるのではないかと思います。

于 2015-03-04T15:48:38.053 に答える