在我的多个表中,我有一deleted
列用于跟踪已删除的内容,而不是直接从数据库中删除它们。
因此,我想创建一个约束来禁止取消删除内容,最好是一次性取消删除。这可能吗?
举个例子:
CREATE TABLE IF NOT EXISTS users (
id UUID DEFAULT uuid_generate_v4 ()
CONSTRAINT votes_pk PRIMARY KEY,
deleted BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE IF NOT EXISTS votes (
id UUID DEFAULT uuid_generate_v4 ()
CONSTRAINT votes_pk PRIMARY KEY,
deleted BOOLEAN NOT NULL DEFAULT FALSE
);
在这些表中,约束应禁止deleted
从TRUE
到 的操作FALSE
。
我认为在更新触发器之前就可以完成这项工作。
如果你有很多表,你可以
create trigger
动态生成语句,例如