postgresql - 使用 PostgreSQL 插入触发器以更新另一个表

标签 postgresql triggers

我有一个名为 awards 的表。我如何在 PostgreSQL 中安装触发器,其中表 awards 中的每个插入都会更新不同的表?

最佳答案

这里我们有两个表,名为table1table2。使用触发器,我将在插入 table1 时更新 table2

创建表格

CREATE TABLE table1
(
  id integer NOT NULL,
  name character varying,
  CONSTRAINT table1_pkey PRIMARY KEY (id)
)

CREATE TABLE table2
(
  id integer NOT NULL,
  name character varying
)

触发函数

CREATE OR REPLACE FUNCTION function_copy() RETURNS TRIGGER AS
$BODY$
BEGIN
    INSERT INTO
        table2(id,name)
        VALUES(new.id,new.name);

           RETURN new;
END;
$BODY$
language plpgsql;

触发器

CREATE TRIGGER trig_copy
     AFTER INSERT ON table1
     FOR EACH ROW
     EXECUTE PROCEDURE function_copy();

关于postgresql - 使用 PostgreSQL 插入触发器以更新另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343984/

相关文章:

Mysql触发器不起作用

c# - 非空字符串时的触发条件

sql - INSTEAD OF 触发器和 CASCADE 路径

MySQL创建触发器关键字

sql - 根据列值过滤或分离 SQL 查询

postgresql - 如何将压缩文件导入 Postgres 表

sql - 在多对多联结表中强制执行唯一行

php - PGSQL 未在 IIS 下的 PHP 5.3 Windows 中加载

c - PostgreSQL:用C创建可变大小类型时,出现约 "compressed data corrupted"的错误

Mysql触发器多次复制到另一个表