PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Inserir gatilho para atualizar outra tabela usando o PostgreSQL


Aqui temos duas tabelas chamadas table1 e table2 . Usando um gatilho, atualizarei table2 na inserção em table1 .

Crie as tabelas
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
)

A função de gatilho
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;

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