Bonjour
Je voudrais à partir d'un trigger insérer des données dans d'autres tables. Pour simplifier le code, je voudrais pouvoir utiliser une variable pour identifier la table avec un code du style
Je sais que je peux utiliser EXECUTE IMMEDIATE et avec des || générer la requête. Mais ça ne marche pas si l'un des champs est un blob par exemple, erreur avec message "column not allowed" quand le trigger s'active.
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 TRIGGER matable_i BEFORE INSERT ON matable FOR EACH ROW DECLARE table_name VARCHAR2(255 CHAR); BEGIN IF (:NEW.table = 1) THEN table_name := 'table_1'; ELSE table_name := 'table_2'; END IF; INSERT INTO <table_name> (c1, c2) VALUES (:NEW.c1, :NEW.c2); END;
Si quelqu'un a une idée.
D'avance merci
Partager