用触发器更新SQL记录

梦想的初衷 提交于 2019-11-27 15:13:19
CREATE FUNCTION reorder_priority() RETURNS TRIGGER AS $$
BEGIN
    CASE TG_OP
        WHEN 'UPDATE' THEN
            UPDATE
                link
            SET
                priority = priority + 1
            WHERE
                link.priority >= NEW.priority AND
                NOT link.priority > OLD.priority;
    END CASE;

    RETURN NULL;
END;
$$ LANGUAGE plpgsql;正确解法
BEGIN
    CASE TG_OP
        WHEN 'UPDATE' THEN
            UPDATE
                link
            SET
                priority = priority + 1
            WHERE
                link.priority >= NEW.priority AND
                NOT link.priority >= OLD.priority;
    END CASE;

    RETURN NEW;
END;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!