zoukankan      html  css  js  c++  java
  • postgresSQL 实现数据修改后,自动更新updated_date/ts等字段

    1. 需求说明:

         实现MYSQL中有on update CURRENT_TIMESTAMP

    2. 需求分析

      由于数据库迁移需要将MYSQL中的数据迁移到postgresSQL中,由于MYSQL中有on update CURRENT_TIMESTAMP这种功能但是PostgresSQL中并没有。需要寻找一个代替方法来做,采用触发器,来进行更新

    3. 实现

      1. 表的结构如下

    CREATE TABLE users (
    
        id serial not null,
        name varchar(100),
        email varchar(200),
        updated_time timestamp
    )
    

     需要实现的功能,当数据更新的时候,将updated_time字段进行更新

      2. 创建触发器更新该字段

    CREATE OR REPLACE FUNCTION "upd_timestamp"()
    RETURNS TRIGGER AS $$
    BEGIN
        NEW.updated_time = now();
        RETURN NEW;
    END;
    $$ language 'plpgsql';
    

      3. 在表中添加对应的触发器

    CREATE TRIGGER "updated_time" BEFORE UPDATE ON "users"
    FOR EACH ROW
    EXECUTE PROCEDURE "upd_timestamp"();
    

      

    4. 测试即可

  • 相关阅读:
    同一WpfApplication下简单的页面转换
    触发器
    程序包
    函数
    存储过程
    游标
    我的第一个SolidWorks图
    张量系列(tensor02)
    张量系列-Tensor(01)
    Python与矩阵论——特征值与特征向量
  • 原文地址:https://www.cnblogs.com/lonecloud/p/10031454.html
Copyright © 2011-2022 走看看