触发以防止对特定列进行更新

时间:2019-02-27 12:57:28

标签: postgresql

我是这个新手,我不知道该去哪里。我试图防止更新表中的特定列。如果尝试更新,它将中止并引发异常消息。

    IF (TG_OP = 'UPDATE') THEN
        SELECT columnName
        FROM TableName
        ABORT;
        RAISE EXCEPTION 'Cannot modify';
END IF;

1 个答案:

答案 0 :(得分:1)

更新触发器可以简单地确保列是相同的,并且可以对旧版本和新版本进行比较。

IF OLD.column IS DISTINCT FROM NEW.column THEN
    NEW.column := OLD.column;
END IF;