Postgresql Postgres:仅在插入时带有复选框的约束

Postgresql Postgres:仅在插入时带有复选框的约束,postgresql,plpgsql,Postgresql,Plpgsql,我需要在Postgres中设置一个约束,该约束仅在插入查询时触发(不在更新查询时触发) 目前,它的实施方式如下: ALTER TABLE test ADD CONSTRAINT check_something_const CHECK (check_something(id, task_id)) NOT VALID; 其中检查某物 CREATE OR REPLACE FUNCTION check_something(UUID, UUID) RETURNS BOOLEAN AS $$ DECLA

我需要在Postgres中设置一个约束,该约束仅在插入查询时触发(不在更新查询时触发)

目前,它的实施方式如下:

ALTER TABLE test ADD CONSTRAINT check_something_const 
CHECK (check_something(id, task_id)) NOT VALID;
其中
检查某物

CREATE OR REPLACE FUNCTION check_something(UUID, UUID)
RETURNS BOOLEAN AS $$
DECLARE
existed_id UUID;
BEGIN
SELECT id
INTO existed_id
FROM test WHERE ...etc. 
RETURN existed_id IS NULL
END;
$$ LANGUAGE 'plpgsql' VOLATILE;
当前,在更新和插入查询时都会触发
check\u something\u const

我需要的是,只有在插入新行时才检查此项,而不是更新

这可以通过仅在插入时触发的触发过程来实现。

这可以通过仅在插入时触发的触发过程来实现。

您需要插入触发器,可以在插入触发器之后/之前使用。您需要一个插入触发器,可以在插入触发器之后/之前使用。