Saya tidak berpikir Anda memerlukan sesuatu yang begitu rumit seperti itu. Jika Anda membuat tampilan seperti
CREATE VIEW MYVIEW AS
SELECT COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN
FROM MYTABLE
WHERE DISCRIMINATOR_COLUMN = 1;
Anda kemudian dapat menyisipkan ke tampilan ini dengan demikian...
INSERT INTO MYVIEW (COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN)
VALUES (1, 2, 3)
dan tampilan harus diperbarui dengan benar jika semua kolom dalam tabel yang tidak ada dalam tampilan memiliki default yang sesuai. Perhatikan bahwa nilai baru di DISCRIMINATOR_COLUMN
tidak perlu menjadi nilai yang dipilih dalam tampilan, meskipun tentu saja tidak akan muncul dalam tampilan saat dipilih berikutnya kecuali jika memang demikian.