简单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
------解决方案--------------------CREATE trigger triI_tb
on tb
for insert
as
if @@rowcount>0
begin
set nocount on
set ansi_warnings off
update tb set 整理后限期=7
where 公司号=1 and 限期 in(5,7)
end
CREATE trigger triu_tb
on tb
for update
as
If update(限期)
begin
set nocount on
set ansi_warnings off
update tb set 整理后限期=7
where 公司号=1 and 限期 in(5,7)
end
------解决方案--------------------CREATE TRIGGER tr_UpdateDueTime
ON dbo.tb
FOR INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;