简单Trigger
有下面的一个表,数据如下 ,想写一个触发器,当插入一条数据或改变表的[限期]时,列[整理后的限期]跟着
变,如公司1的5天跟7天都为整理后限期的7天,用CASE WHEN ,要判断公司
公司号 限期 整理后限期
1 5天 7天
2 5天
1 7天 7天
2 7天
1 15天
2 13天
1 17天
[解决办法]
--没大搞明白lz的意思。。。
create trigger tri_name on tb for update,insert
as
begin
--如公司1的5天跟7天都为整理后限期的7天
if exists(select 1 from inserted where 公司=1 and (期限=5 or 期限=7))
update TB set 整理后期限=7 where 公司=1 and (期限=5 or 期限=7)
end
-- Insert statements for trigger here
UPDATE t1 SET t1.整理后限期=t2.限期
from tb t1
INNER JOIN INSERTED t2 ON t1.公司号=t2.公司号 AND t1.限期=t2.限期
END
GO
CREATE TRIGGER tr_UpdateDueTime1
ON dbo.tb
FOR UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
IF UPDATE(限期)
UPDATE t1 SET t1.整理后限期=t2.限期
from tb t1
INNER JOIN INSERTED t2 ON t1.公司号=t2.公司号 AND t1.限期=t2.限期
END
GO
[解决办法]
触发器很简单,问题是你的算法不知道是怎样的,是不是能够实现。