sql >> Database teknologi >  >> RDS >> PostgreSQL

Indsæt trigger for at opdatere en anden tabel ved hjælp af PostgreSQL

Her har vi to tabeller med navnet table1 og table2 . Ved hjælp af en trigger opdaterer jeg table2 ved indsættelse i table1 .

Opret tabellerne

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
)

Udløserfunktionen

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;

Udløseren

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


  1. Selleri Worker Database Connection Pooling

  2. handling ikke tilladt, når objektet er lukket, når der køres mere avanceret forespørgsel

  3. Kaldning af lagret funktion eller procedure vil ikke indsætte og fortsætte ændringer

  4. Sådan får du UTC-værdi for SYSDATE på Oracle