Je ne pense pas que vous ayez besoin de quelque chose d'aussi compliqué que cela. Si vous avez créé une vue telle que
CREATE VIEW MYVIEW AS
SELECT COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN
FROM MYTABLE
WHERE DISCRIMINATOR_COLUMN = 1;
vous pourriez alors insérer dans cette vue ainsi...
INSERT INTO MYVIEW (COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN)
VALUES (1, 2, 3)
et la vue doit être mise à jour correctement si toutes les colonnes de la table qui ne sont pas présentes dans la vue ont des valeurs par défaut appropriées. Notez que la nouvelle valeur dans DISCRIMINATOR_COLUMN
n'a pas besoin d'être la valeur choisie dans la vue, bien qu'elle n'apparaisse naturellement pas dans la vue lors de la prochaine sélection, sauf si c'est le cas.