由于我的操作是在一个存储过程中实现的,不知道关不关这个的事:
CREATE PROCEDURE AutoMark AS
begin TRANSACTION
insert into H_dan select * from H_Dan_CT WHERE (DATEDIFF(day, H_Dan_CT.SH_T, GETDATE()) < 34)
if @@rowcount=0
begin
COMMIT TRANSACTION
return
end
if @@error>0
begin
ROLLBACK TRANSACTION
return
end
insert into H_DO select * from H_DO_CT
if @@error>0
begin
ROLLBACK TRANSACTION
return
end
insert into EM_TC_Do select * from H_TC_All_CT
if @@error>0
begin
ROLLBACK TRANSACTION
return
end
delete dan where (DATEDIFF(day, Dan.SH_T, GETDATE()) < 34) and SH=1
COMMIT TRANSACTION
GO