Bonjour à tous,

Voici l'idée générale de ma requête. Je souhaiterais pouvoir remplir automatiquement un champ par concaténation via un trigger.

Ce trigger appel une fonction qui met des conditions à cette mise à jour.

Voici l'idée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE OR REPLACE FUNCTION update()
  RETURNS "trigger" AS $nomfic$
 
    BEGIN
 
	IF code_insee IS NULL THEN
 
	NEW.nomfic:='';
 
	ELSIF nom IS NULL
 
	NEW.nomfic:='';
 
	ELSIF nom AND code_insee IS NOT NULL THEN
 
	NEW.nomfic:=NEW.code_insee||'-'||NEW.nom||'machin';
 
	END IF;
        RETURN NEW;
 
    END;
$nomfic$
  LANGUAGE 'plpgsql';
 
ALTER FUNCTION update()OWNER TO postgres;
 
CREATE TRIGGER update BEFORE INSERT OR UPDATE
ON MaTable FOR EACH ROW
EXECUTE PROCEDURE update();
En espérant que vous puissiez m'éclairer sur les conditions dans une fonction...

Merci d'avance.

Geo-x