updateステートメントをトリガーに入れようとして、過去1時間以上遊んでいます。UPDATE ステートメントの概念を理解しており、以下は問題なく動作します
UPDATE cars SET country = 'France';
私が望むのは、これをトリガーに入れて、車のテーブルが更新されたときに、列の国が自動的にフランスで更新されるようにすることです。
インターウェブで見つけた関数とトリガーを適応させてみましたが、新しいレコードが実行されたときに実行されないか、実行されても国フィールドが更新されないため、明らかにステートメントが間違っていますが追加されます。
CREATE FUNCTION update_country () RETURNS TRIGGER AS $$
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE cars SET country = 'France' WHERE id = New.id;
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql; --The trigger used to update a table.
CREATE TRIGGER update_country_col BEFORE UPDATE ON cars FOR EACH ROW EXECUTE PROCEDURE update_country();
上記のスクリプトは実行されますが、フランスを国列に追加しません。この関数は、Web で見つけたステートメントから採用されました。
ポストグル 9.1。
私は答えがとても簡単になることを知っています!