CREATE TRIGGER ysfj ON dbo.skdf 
FOR UPDATE 
AS 
begin
declare @newmyid int,@newrz int,@newysrq varchar(50),@oldmyid int,@oldrz int,@oldysrq varchar(50) 
declare @2 varchar(50),@3 float,@4 varchar(50) 
Select  @newmyid= id,@newrz=sfrz,@newysrq=ysrq  FROM  Inserted 
Select  @oldmyid= id,@oldrz=sfrz,@oldysrq=ysrq,@2=fjhm,@3=sjfj, @4=czy  FROM  deleted if @newysrq <>@oldysrq 
begin 
insert into zhang(khid,fjhm,dmy,dme,kmxz,kmlx,jfje,dfje,czy,ms) values(@oldmyid,@2,001,000,2,1,@3,0,@4,'房金') 
end 
end

解决方案 »

  1.   

    if @newysrq <>@oldysrq 
    不要这个条件呢?
      

  2.   

    try:
    CREATE TRIGGER ysfj ON dbo.skdf 
    FOR UPDATE 
    AS 
    declare @newmyid int,@newrz int,@newysrq varchar(50),@oldmyid int,@oldrz int,@oldysrq varchar(50) 
    declare @2 varchar(50),@3 float,@4 varchar(50) 
    Select  @newmyid= id,@newrz=sfrz,@newysrq=ysrq  FROM  Inserted 
    Select  @oldmyid= id,@oldrz=sfrz,@oldysrq=ysrq,@2=fjhm,@3=sjfj, @4=czy  FROM  deleted if @newysrq <>@oldysrq 
    begin 
    insert into zhang(khid,fjhm,dmy,dme,kmxz,kmlx,jfje,dfje,czy,ms) select id,fjhm,001,000,2,1,sjfj,0,czy,'房金' from deleted 
    end 
      

  3.   

    CREATE TRIGGER ysfj ON dbo.skdf 
    FOR UPDATE 
    AS 
    insert into zhang(khid,fjhm,dmy,dme,kmxz,kmlx,jfje,dfje,czy,ms) 
      select a.id,a.fjhm,001,000,2,1,a.sjfj,0,a.czy,'房金' from deleted a join inserted b on a.id=b.id where a.ysrq<>b.ysrq或直接这样看下
      

  4.   

    抱歉刚才出去了  现在是数据库SKDF这个表 会有多条记录被修改 但我这个只能针对一条出发