bonjour à tous
dans chacune de mes tables j'ai un champ nommé <table_name>_uuid et à l'insertion d'une ligne j'aimerais renseigner une valeur pour ce champ
comme DEFAULT ne fonctionne pas avec des fonctions j'essaie de coder un trigger dont voici le code :
uuidField contient bien le nom du champ dans lequel je veux stocker la valeur mais ma commande EXECUTE ne fonctionne pas, visiblement à cause d'un problème de syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE OR REPLACE FUNCTION uuid_generator() RETURNS TRIGGER LANGUAGE plpgsql AS $$ DECLARE uuidField VARCHAR; BEGIN uuidField := TG_TABLE_NAME || '_uuid'; EXECUTE '($1).' || QUOTE_IDENT(uuidField) || ' := uuid_generate_v4()' USING NEW; RETURN NEW; END; $$;
pourriez-vous m'indiquer comment corriger le problème ?
merci
Partager