代码之家  ›  专栏  ›  技术社区  ›  Jeff Mc

DELETE的返回值在PostgreSQL中是否可以修改

  •  2
  • Jeff Mc  · 技术社区  · 16 年前

    spaces allspaces ,添加新列 deleted ,并创建视图 空间 删除 字段,从而将其从视图中删除,但所有数据仍保留在数据库中。

    现在的问题是删除上的语句 空间 返回 DELETE 0

    在instead规则中,是否仍然需要修改PostgreSQL返回行而不是删除行。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Justin    15 年前

    Confluence CLI :

    confluence --action exportSpace --space "spaceName" --file "target/output/confluencecli/spaceName.xml"

    为了更进一步,您可以修改操作( confluence/spaces/removespace.vm

        2
  •  1
  •   bobflux    15 年前

    您可以添加一个ON DELETE触发器,将删除的行保存到存档表中。您可以向应用程序添加救援功能来恢复已删除的行。

        3
  •  0
  •   John P    16 年前

    我并不是真的想实现什么,但也许可以将delete语句放在一个返回VOID的函数中,然后调用它。

    CREATE OR REPLACE FUNCTION delete_space(pid integer)
      RETURNS void AS
    $BODY$ 
    DECLARE aid INTEGER;
    BEGIN
        delete from spaces where id=pid;
        return;
    END;
    $BODY$
      LANGUAGE 'plpgsql';
    

    使用方法:

    select * from delete_space(3);