Postgresql 更新后如何创建更改记录的触发器?

Postgresql 更新后如何创建更改记录的触发器?,postgresql,triggers,plpgsql,Postgresql,Triggers,Plpgsql,我的扳机有问题。我有一个简单的表stats。在这个表中,我有一个例子:id,energy,是活动的。我需要在更新时创建一个触发器,如下所示: CREATE TRIGGER AFTER UPDATE IF energy <= 0 THEN UPDATE stats SET is_alive = false CREATE FUNCTION trg_stats_insup_bef() RETURNS trigger AS $func$ BEGIN IF NEW.energy <

我的扳机有问题。我有一个简单的表
stats
。在这个表中,我有一个例子:
id
energy
是活动的。我需要在更新时创建一个触发器,如下所示:

CREATE TRIGGER AFTER UPDATE
IF energy <= 0 THEN 
  UPDATE stats SET is_alive = false
CREATE FUNCTION trg_stats_insup_bef()
  RETURNS trigger AS
$func$
BEGIN
IF NEW.energy <= 0 THEN
   NEW.is_alive := FALSE;
END IF;
RETURN NEW;
END
$func$ LANGUAGE plpgsql;
我想:

  • 更新-3上的值

  • 执行触发器并检查是否为新值触发器函数如下:

    CREATE TRIGGER AFTER UPDATE
    IF energy <= 0 THEN 
      UPDATE stats SET is_alive = false
    
    CREATE FUNCTION trg_stats_insup_bef()
      RETURNS trigger AS
    $func$
    BEGIN
    IF NEW.energy <= 0 THEN
       NEW.is_alive := FALSE;
    END IF;
    RETURN NEW;
    END
    $func$ LANGUAGE plpgsql;