PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Besoin d'aide avec un déclencheur et une fonction Postgres

Cela pourrait fonctionner comme ceci :

CREATE OR REPLACE FUNCTION public.f_brand_lookup()
   RETURNS trigger AS
$func$
BEGIN
   SELECT INTO NEW.brand
          bt.brand
   FROM   brand_translation bt
   WHERE  bt.source = NEW.source;

   RETURN NEW;
END
$func$
LANGUAGE plpgsql;

CREATE TRIGGER brand_insert_before_lookup
BEFORE INSERT ON subscriber
FOR EACH ROW EXECUTE PROCEDURE public.f_brand_lookup();

Il y a trop de choses complètement fausses dans votre exemple.
Vous devez commencer par étudier les bases. Comme toujours, je suggère le très bon manuel.
Commencez ici et ici .