0
行の更新トリガでその行が変更されたときにトリガを作成しました。列を更新するとエラーが発生します。どうすれば解決できますか?もちろんPostgresqlのトリガの例
ERROR: stack depth limit exceeded HINT: Increase the configuration parameter "max_stack_depth" (currently 2048kB), after ensuring the platform's stack depth limit is adequate.
CREATE OR REPLACE FUNCTION ynt_call()
RETURNS TRIGGER AS $$
BEGIN
IF TG_OP = 'UPDATE' THEN
UPDATE ynt.a_test SET date_time = now();
END IF;
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_call AFTER UPDATE ON ynt.a_test FOR EACH ROW EXECUTE PROCEDURE ynt_call();
あなたは無限ループに見えます。トリガーの値を変更するには、** new **および** old **キーワードを使用します。 – ChrisB
マニュアルの例は、https://www.postgresql.org/docs/current/static/plpgsql-trigger.html#PLPGSQL-TRIGGER- EXAMPLEに近いはずです。 –