读书人

请教下关于SQL SERVER2012触发器的有关

发布时间: 2013-09-06 10:17:17 作者: rapoo

请问下关于SQL SERVER2012触发器的问题
请问下 为什么我设置了一个触发器 用于update的

一共触发4个表 为什么每次返回受影响的行数是 这4个表总条数相加的呢?

比如说我更新了1表 触发了A,B,C,D 4个表

这4个表中每个表有5条数据 那么我更新1表返回受影响的行数就是 5*4+1(1是更新了1表的那条数据)=21行

但是insert触发器就没问题 受影响行数是5条 5个表各一条


触发器代码是


ALTER TRIGGER [dbo].[tenants_update]
ON [dbo].[T_Tenants]
FOR update
AS
BEGIN
declare @_type nvarchar(10)
SELECT @_type=[Type] from inserted
UPDATE T_Quartewatercostdetail
SET [Type] = @_type

UPDATE T_Quarteelectricitycostdetail
SET [Type] = @_type

UPDATE T_Quartefeescostdetail
SET [Type] = @_type

UPDATE T_Quartecost
SET [Type] = @_type

END


这种是不是我建立了数据库关系的原因?
我建立了一个关系 T_Tenants 的ID 等于 其他4个表的TID 跟这个有关吗
[解决办法]
你的update触发器都没有where条件呢,你查看一下表1-4里面的各有多少条数据?

读书人网 >SQL Server

热点推荐