我想在 postgresql 9.2.4 WHEN 子句中使用子查询。 它抱怨我不能在触发 WHEN 条件时使用子查询。
这是我的代码
CREATE TRIGGER BeerTrig
AFTER INSERT ON Sells
FOR EACH ROW
WHEN (NEW.beer NOT IN (SELECT name FROM Beers))
EXECUTE PROCEDURE insertNewBeer();
有没有解决方法如何在when子句中进行子查询?
提前非常感谢
您可以始终调用 insertNewBeer() 并决定是否实际插入一行。
是的,我已经看这个有一段时间了。看起来像在postgres中,我们只能在使用NEW和OLD时进行简单的检查,但我们不能在when中运行子查询。在这些情况下,您始终必须调用该函数并在那里运行查询。