Предполагая, что вы используете SQLServer здесь один упрощенно пример
CREATE TABLE persons
(personid int,
firstname varchar(32),
lastname varchar(32));
CREATE TABLE employees
(employeeid int,
personid int,
title varchar(32));
CREATE VIEW vwEmployees AS
SELECT p.personid, employeeid, firstname, lastname, title
FROM employees e JOIN persons p
ON e.personid = p.personid;
CREATE TRIGGER tgEmployeesInsert ON vwEmployees
INSTEAD OF INSERT AS
BEGIN
INSERT INTO persons (personid, firstname, lastname)
SELECT personid, firstname, lastname
FROM INSERTED
INSERT INTO employees (employeeid, personid, title)
SELECT employeeid, personid, title
FROM INSERTED
END;
INSERT INTO vwEmployees (personid, employeeid, firstname, lastname, title)
VALUES(1, 1, 'Jhon', 'Doe', 'SQL Developer');
Примечание: На самом деле вы, безусловно, придется иметь дело с IDENTITY
колонн и то, что вызывает в SQL Server являются скорее, чем строка.
Вот SQLFiddle демо
Что СУБД (SQL Server, Oracle, Postgres, ...) вы используете? – peterm