触发比较记录并插入另一个表中的值

问题描述 投票:-4回答:1

请告知以下操作的触发程序:

有2个表table_1table_2有类似的列:col_a, col_b, col_c.

当在PHP语句中在table_1 (col_a)中插入一些字符串值时,必须将其与table_2 (col_a)进行比较,如果它们相同,则必须将table_2 (col_b, col_c)中的值插入到table_2 (col_b, col_c)

请指教

sql postgresql
1个回答
0
投票

触发功能就是这样的。您可以根据自己的列数据类型和名称对其进行自定义。

CREATE OR REPLACE FUNCTION fn_trgr() RETURNS trigger AS
  $BODY$
    DECLARE
      val_c TEXT;
      val_b TEXT;
    BEGIN
    SELECT DISTINCT col_b INTO val_b FROM table_1 WHERE col_a=NEW.col_a;
    SELECT DISTINCT col_c INTO val_c FROM table_1 WHERE col_a=NEW.col_a;

    NEW.col_b := val_b ;
    NEW.col_c := val_c ;

    RETURN NEW;
    END;
  $BODY$
LANGUAGE plpgsql
© www.soinside.com 2019 - 2024. All rights reserved.