小编use*_*092的帖子

如何创建 Postgres 触发器以确保字段不可更新

我正在尝试创建一个 Postgres 触发器,以确保在设置列的值后,它无法更新(基本上使其成为只读)。到目前为止,我已经提出了以下草案触发器。

1) 首先,我在正确的轨道上吗?
2) 有回报价值NEW吗?
3) 我必须original_idNEW.?

CREATE FUNCTION check_id_change() RETURNS TRIGGER AS $$
    BEGIN
        IF OLD.original_id <> NEW.original_id THEN
            RAISE EXCEPTION 'cannot change original_id'; 
        END IF;
        RETURN NEW;
    END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER client_update_trigger AFTER UPDATE ON client FOR EACH ROW
      EXECUTE PROCEDURE check_id_change();
Run Code Online (Sandbox Code Playgroud)

postgresql trigger

8
推荐指数
2
解决办法
7241
查看次数

标签 统计

postgresql ×1

trigger ×1