相关疑难解决方法(0)

在 PostgreSQL 中的所有 last_modified 列上创建触发器

在 PostgreSQL 9.5 中,我有表格中的列

prefix_last_modified timestamp without time zone NOT NULL DEFAULT  (clock_timestamp() AT TIME ZONE 'UTC')
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来设置在每次更新行时自动更新的最后修改的值,我发现这篇定义函数的好帖子

CREATE OR REPLACE FUNCTION update_modified_column() 
RETURNS TRIGGER AS $$
BEGIN
    NEW.modified = now();
    RETURN NEW; 
END;
$$ language 'plpgsql';
Run Code Online (Sandbox Code Playgroud)

现在,我想知道是否有任何方法可以将列名传递给 PostgreSQL 函数并将其执行到NEW行?例如

CREATE OR REPLACE FUNCTION update_modified_column(varchar column)   
    RETURNS TRIGGER AS $$
    BEGIN
        NEW.column = now();
        RETURN NEW; 
    END;
$$ language 'plpgsql';
Run Code Online (Sandbox Code Playgroud)

postgresql trigger row-modification-time

7
推荐指数
1
解决办法
6300
查看次数