| 示例 在本例中,创建了一个德国客户表和一个墨西哥客户表。放置在视图上的INSTEAD OF触发器将把更新操作重新定向到适当的基表上。这时发生的插入是对CustomersGer表的插入而不是对视图的插入。 创建两个包含客户数据的表: SELECT * INTO CustomersGer FROM Customers WHERE Customers.Country = ''''Germany'''' SELECT * INTO CustomersMex FROM Customers WHERE Customers.Country = ''''Mexico'''' GO
在该数据上创建视图: CREATE VIEW CustomersView AS SELECT * FROM CustomersGer UNION SELECT * FROM CustomersMex GO
创建一个在上述视图上的INSTEAD OF触发器: CREATE TRIGGER Customers_Update2 ON CustomersView INSTEAD OF UPDATE AS DECLARE @Country nvarchar(15) SET @Country = (SELECT Country FROM Inserted) IF @Country = ''''Germany'''' BEGIN UPDATE CustomersGer SET CustomersGer.Phone = Inserted.Phone FROM CustomersGer JOIN Inserted
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页 |