からBASETABLE上のトリガdoesntのトリガの新しいデータがBASETABLEに挿入されたとき、私はそれが別のテーブルにデータを挿入するためのビュー(InsteadView)のトリガーを作りたいです。それは私がビューに手動でデータを挿入するときだけ動作しますが、私はBasetableにデータを挿入しません。SQLベースの代わりにビュー
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')
--view INSERT文の結果。 SELECT主キー、カラー、 素材、設計通りに働いている別のテーブル
ビューのポイントは何ですか? –
これは簡単な例です。実際のビューは15のテーブルから形成されています。これを働かせることができれば、本当のことに取り組むのに役立ちます。 – tdjfdjdj