【发布时间】:2019-10-01 21:19:13
【问题描述】:
我希望根据变量对行进行排序。我把头发拉出来,试图把我的头缠在这种触发器上。我只写过从其他表中获取一些值的触发器。
示例: 我有列的行让我们说:名称和顺序。
CREATE TABLE buildorder (
name VARCHAR NOT NULL,
order_buildorder INT,
);
INSERT INTO buildorder (name, order_buildorder) VALUES ('Gateway', 1);
INSERT INTO buildorder (name, order_buildorder) VALUES ('Pylon', 2);
现在我不按顺序插入,但 ON INSERT 触发器应该自动使其变为 3
INSERT INTO buildorder (name) VALUES ('Probe');
但现在我们将第三个构建顺序更新为第一个位置
UPDATE buildorder
SET order_buildorder = 1
WHERE name = 'Probe'
所有其他行现在应该更改以反映这种排序更改。我将如何为此编写触发器?
示例结果:
[
{name = "Gateway", order_buildorder = 2},
{name = "Pylon", order_buildorder = 3},
{name = "Probe", order_buildorder = 1},
]
【问题讨论】:
标签: sql postgresql triggers database-trigger