Tôi không nghĩ rằng bạn cần bất cứ điều gì khá phức tạp như vậy. Nếu bạn đã tạo một chế độ xem chẳng hạn như
CREATE VIEW MYVIEW AS
SELECT COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN
FROM MYTABLE
WHERE DISCRIMINATOR_COLUMN = 1;
sau đó bạn có thể chèn vào chế độ xem này ...
INSERT INTO MYVIEW (COLUMN1,
COLUMN2,
DISCRIMINATOR_COLUMN)
VALUES (1, 2, 3)
và chế độ xem sẽ cập nhật chính xác nếu tất cả các cột trong bảng không có trong chế độ xem có giá trị mặc định phù hợp. Lưu ý rằng giá trị mới trong DISCRIMINATOR_COLUMN
không cần phải là giá trị được chọn trong chế độ xem, mặc dù tự nhiên nó sẽ không xuất hiện trong chế độ xem khi được chọn tiếp theo trừ khi nó được chọn.