34,590
社区成员
发帖
与我相关
我的任务
分享
Create TRIGGER [dbo].[trg_test_001]
ON [dbo].[test001]
for UPDATE
AS
BEGIN
IF Update(LHOUR)
begin
update a set
LDAY=case when i.LHOUR>=24 then isnull(a.LDAY,0)+1 else isnull(a.LDAY,0) end,
LHOUR=case when i.LHOUR>=24 then isnull(a.LHOUR,0)-24 else isnull(a.LHOUR,0) end
from test001 a,
inserted i
where a.id=i.id
end
IF Update(SHOUR)
begin
update a set
SDAY=case when i.SHOUR>=24 then isnull(a.SDAY,0)+1 else isnull(a.SDAY,0) end,
SHOUR=case when i.SHOUR>=24 then isnull(a.SHOUR,0)-24 else isnull(a.SHOUR,0) end
from test001 a,
inserted i
where a.id=i.id
end
END
create table test001(
ID int IDENTITY(1,1) NOT NULL,
LDAY int,
LHOUR int ,
SDAY int ,
SHOUR int
)
--insert test001(lday,lhour,sday,shour) values (1,2,3,4)
--update test001 set lhour=24
--select * from test001
--drop table test001
Create TRIGGER [dbo].[trg_test_001]
ON [dbo].[test001]
for UPDATE
AS
declare @tmp1 int
BEGIN
IF Update(LHOUR)
begin
select @tmp1=LHOUR from inserted
if @tmp1=24
update test001 set LDAY=LDAY+1
end
IF Update(SHOUR)
begin
select @tmp1=SHOUR from inserted
if @tmp1=24
update test001 set SDAY=SDAY+1
end
END
create table test(
ID int IDENTITY(1,1) NOT NULL,
LDAY int,
LHOUR int ,
SDAY计 int ,
SHOUR int
)
CREATE TRIGGER [dbo].[test_001]
ON [dbo].[test]
for UPDATE
AS
declare @tmp1 int
BEGIN
IF not Update(LHOUR)
begin
select @tmp1=LHOUR from inserted
if @tmp1=24
update test set LDAY=LDAY+1
end
IF not Update(SHOUR)
begin
select @tmp1=SHOUR from inserted
if @tmp1=24
update test set SDAY=SDAY+1
end
END