私はpostgresql(したがってルール)が初めてで、周りを見回しましたが、「グローバル」関数を呼び出す例を実際に見つけることができません。
行が削除されたのではなく、削除済みとしてフラグが立てられる正規化されたデータベースを使用しています。DELETE FROM...
ただし、代わりに削除ルールを使用してテーブルのdeleted_time
列を更新することにより、エンド ユーザーの機能を保持したいと考えています。したがって、各テーブルは共通の関数を使用できるはずですが、これがこのコンテキストでどのように呼び出されるのか、またはどのようにアクセスできるのかわかりNEW
ませOLD
ん。
CREATE OR REPLACE RULE rule_tablename_delete AS ON DELETE
TO tablename DO INSTEAD (
/// call function here to update the table's delete_time column
);
これは正しいアプローチですか?(INSTEAD OF トリガーはビューのみに制限されていることに注意してください)