pgAdmin 単なるGUIです。 PostgreSQL を意味します 、 RDBMS 。
外部キー制約
、参照されている列に存在しない値を使用できないように強制するだけのように。 ON UPDATE CASCADE
を使用できます またはON DELETE CASCADE
参照された列からの変更を伝播しますが、新しい行を作成することはできません あなたが説明するようにそれで。間違ったツールを入手しました。
あなたが説明することは、トリガー
で達成できます。 。もう1つのより複雑な方法は、RULE
です。
。ここでトリガーを使用します。
PostgreSQLでは、トリガー関数 が必要です。 、主にplpgsql を使用します 、およびトリガー それを利用するテーブルの上で。
次のようなもの:
CREATE OR REPLACE FUNCTION trg_insert_row_in_tbl2()
RETURNS trigger AS
$func$
BEGIN
INSERT INTO tbl2 (my_id, col1)
VALUES (NEW.my_id, NEW.col1) -- more columns?
RETURN NEW; -- doesn't matter much for AFTER trigger
END
$func$ LANGUAGE plpgsql;
そして、トリガーAFTER INSERT
tbl1
で :
CREATE TRIGGER insaft
AFTER INSERT ON tbl1
FOR EACH ROW EXECUTE PROCEDURE trg_insert_row_in_tbl2();