当新的数据插入到BASETABLE我希望它使视图(InsteadView)的触发将数据插入到不同的表。它只适用于我手动将数据插入视图,但不是当我插入数据到基表。SQL的,而不是在basetable触发犯规触发从视图
CREATE TABLE BaseTable
(PrimaryKey int PRIMARY KEY IDENTITY(1,1),
Color nvarchar(10) NOT NULL,
Material nvarchar(10) NOT NULL,
ComputedCol AS (Color + Material)
)
GO
--Create a view that contains all columns from the base table.
CREATE VIEW InsteadView
AS SELECT PrimaryKey, Color, Material, ComputedCol
FROM BaseTable
GO
--Create an INSTEAD OF INSERT trigger on the view.
CREATE TRIGGER InsteadTrigger on InsteadView
INSTEAD OF INSERT
AS
BEGIN
--Build an INSERT statement ignoring inserted.PrimaryKey and
--inserted.ComputedCol.
INSERT INTO anotherTable
SELECT Color, Material
FROM inserted
END
GO
INSERT INTO BaseTable(颜色,材质 ) VALUES(N'Red 'N'Cloth')
- 查看INSERT语句的结果。 SELECT的PrimaryKey,颜色,材质 ,ComputedCol从另一个表
视图的观点是什么? –
这是一个简单的例子。真正的观点是由15个表组成的。如果我能使这个工作,它会帮助我解决真实的问题。 – tdjfdjdj