Bonjour à tous,

j'ai un probleme de création de trigger : en quelques mots, voici ce que je voudrais faire :

Enregistrer des logs dans des tables séparées dont le nom serait logs_YYYYMM
par exemple logs_200909, logs_2009_10...

Pour celà actuellement on a créé un trigger comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
DECLARE
    mois varchar;
BEGIN
    mois = to_char(to_timestamp(NEW.timestamp/1000), 'MM');
    ELSIF (mois ='09') THEN
        INSERT INTO logs_200909 VALUES (NEW.*);
    ELSIF (mois ='10') THEN
        INSERT INTO logs_200910 VALUES (NEW.*);    
    ELSE
        RAISE EXCEPTION 'Mois non prevu';
    END IF;
    RETURN NULL;
END;
Mais tant qu'à faire, autant créer quelque chose de plus générique, du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    mois = to_char(to_timestamp(NEW.timestamp/1000), 'YYYYMM');
    INSERT INTO logs_????? VALUES (NEW.*);

Comment faire s'il vous plait pour calculer, concaténer ce nom de table dans le trigger ?

merci d'avance