PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

(Postgresql) làm cho chức năng kích hoạt bảng chèn giá trị ID của hàng đã thay đổi vào bảng nhật ký, để sao chép tùy chỉnh

Tôi đã có thể giải quyết vấn đề này bằng cách thay đổi SAU thành TRƯỚC trong trình kích hoạt, mà lúc đầu tôi tin rằng sẽ không hoạt động hoặc:

    CREATE OR REPLACE FUNCTION Insert() RETURNS TRIGGER AS $ReplInsert$
    BEGIN
        IF (TG_OP = 'DELETE') THEN
            INSERT INTO "log" ("Operation","ID","NAME")
    VALUES ('DELETE', OLD.ID, OLD.NAME);
            RETURN OLD;
        ELSIF (TG_OP = 'UPDATE') THEN
            INSERT INTO "log" ("Operation","ID","NAME")
    VALUES ('UPDATE', NEW.ID ,NEW.NAME);
            RETURN NEW;
        ELSIF (TG_OP = 'INSERT') THEN
            INSERT INTO "log" ("Operation","ID","NAME")
    VALUES ('UPDATE', NEW.ID , NEW.NAME);
            RETURN NEW;
        END IF;
        RETURN NULL; 
    END;
$ReplInsert$ LANGUAGE plpgsql;

CREATE TRIGGER logTrg
BEFORE INSERT OR UPDATE OR DELETE ON "FIRST_NAME"
    FOR EACH ROW EXECUTE PROCEDURE Insert();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo cơ sở dữ liệu PostgreSQL nhanh chóng bằng Hibernate ngay cả khi DB không tồn tại

  2. Cập nhật bảng và thêm dữ liệu trong Di chuyển Laravel 5

  3. sql tạo tên bảng / chế độ xem duy nhất

  4. Cách đặt thời gian chờ câu lệnh để thực hiện truy vấn

  5. Cách thêm mô-đun vào Wildfly bằng CLI