Instead rules à l'insertion
Bonjour,
Je fait des tests afin de mettre en place un partitionnement par année d'une table sous Postgresql 8.1. La doc en ligne préconise d'utiliser les rules pour gérer les opérations d'insertion, maj et delete.
J'ai donc déclarer des règles à l'insertion sur ma table mère pour chacune des tables filles qui insèrent les données dans les tables filles.
Par exemple : La table mère est MaTable, j'ai deux tables filles : MaTable_2010 et MaTable_2011 et deux règles :
Code:
1 2 3 4 5 6 7 8 9
|
CREATE OR REPLACE RULE matable_insert_2010 AS
ON INSERT TO MaTable
WHERE new.annee = 2010::numeric DO INSTEAD INSERT INTO MaTable_2010 VALUES (...);
CREATE OR REPLACE RULE matable_insert_2011 AS
ON INSERT TO MaTable
WHERE new.annee = 2011::numeric DO INSTEAD INSERT INTO MaTable_2011 VALUES (...); |
Mon problème est que lorsque j'insère une ligne dans MaTable, celle ci est bien insérée dans la bonne table fille en fonction de son année, mais également dans la table mère !
Comment faire pour que les données soit uniquement insérées dans les tables filles ???