You'll need to use an INSTEAD OF trigger. For example:
USE Sandbox;
GO
CREATE TABLE Table1 (ID int, String varchar(10));
CREATE TABLE Table2 (ID int, String varchar(10));
INSERT INTO Table1
VALUES (1,'ABC'),
(2,'ABC'),
(3,'ABC'),
(4,'ABC'),
(5,'ABC');
INSERT INTO Table2
VALUES (6,'DEF'),
(7,'DEF'),
(8,'DEF'),
(9,'DEF'),
(10,'DEF');
GO
CREATE VIEW Table1And2 AS
SELECT *
FROM Table1
UNION ALL
SELECT *
FROM Table2;
GO
SELECT *
FROM Table1And2;
GO
CREATE TRIGGER GoToTable2 ON Table1And2
INSTEAD OF INSERT
AS
INSERT INTO Table2 (ID, String)
SELECT i.ID,I.String
FROM inserted i;
GO
INSERT INTO Table1And2
VALUES (11,'GHI');
SELECT *
FROM Table1And2;
SELECT *
FROM Table1;
SELECT *
FROM Table2;
GO
DROP VIEW Table1And2;
DROP TABLE Table2;
DROP TABLE Table1;
Thom~
Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
Larnu.uk