10
我有一个触发功能:如何在PostgreSQL触发器函数中获取表名?
CREATE OR REPLACE FUNCTION "trigger_deleteUsers"()
RETURNS trigger AS
$BODY$
BEGIN
INSERT INTO "DeletedEntities" ("uuidKey", "dateCreated", "dateModified", "dateSynced", "username", "entityName")
VALUES (OLD."uuidKey", OLD."dateCreated", OLD."dateModified", "dateSynced", OLD."username", 'Users');
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql;
CREATE TRIGGER "deleteUsers" AFTER DELETE ON "Users" FOR EACH ROW EXECUTE PROCEDURE "trigger_deleteUsers"();
这适用于表“用户”。每次我从“用户”表的数据库中删除一行插入一行(“uuidKey”,“dateCreated会”,“dateModified”,“dateSynced”,“用户名”,“的entityName”)到表“DeletedEntities”说稍后我将用于同步目的。
上述作品。这是我的问题,我有大约两打桌子。我知道我需要在每个表上创建TRIGGER,但我不想为每个表创建自定义触发器函数。唯一会从上面的第一个函数改变的是函数内INSERT语句的最后一个值;而不是'用户'这将是“总帐”,或“日记”,或其他。
在PostgreSQL的触发功能,我如何得到,旧的行属于太表的名称?
正是我一直在寻找,只是看着在文档中错误的地方。谢谢! – adamek