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

Hai bisogno di assistenza con un trigger e una funzione Postgres

Potrebbe funzionare così:

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();

C'è semplicemente troppo sbagliato nel tuo esempio.
Devi iniziare studiando le basi. Come sempre, suggerisco l'ottimo manuale.
Inizia qui e qui .